until just _before_ exitDatabase, to ensure
that cleanup happens _after_ devSup detach().
Still allows devSup build() the opportunity
to add epicsAtExit() which happen between
cac cleanup and our cleanup.
Add in registrar happens early in startup, and
will be run near the end of shutdown.
Even if iocInit() isn't run.
Also use an initHook to add cleanupPy(), which
happens late in startup, and will be run early
on shutdown. Though only if iocInit() is run.
* origin/devel:
Python init: don't install sig handlers. Fix#5
Fix pyIocApp's Makefile
testing cleanup
cleanup and inithook
minor
update doc
Base 3.14
py3
travis-ci update
test field access and dset
start PDB unittest
rework to separate out python module
separate softIocPy build
Makefile updates from p4p
# Conflicts:
# devsupApp/src/dbapi.c
# devsupApp/src/pydevsup.h
Py_InitializeEx(0) tells the embedded interpreter to not install signal handlers. This fix is ignored by Python <3.7. See https://bugs.python.org/issue35233.
This changeset consists of two changes:
The declaration of the pyInitLastState global variable is moved from
pydevsup.h to setup.c. This is needed to avoid an "duplicate symbols"
error when linking. As this variable is only used in setup.c anyway,
there is no downside in moving its declaration there.
The log example application is now only built on Linux. As it depends
on the inotify API, which is Linux-specific, it cannot be reasonably
built on other platforms. As it is not needed for the pyDevSup to work,
it is OK to built it without this application.
Adjust Field.getval() and Field.putval() to work
with numpy.ndarray.
putval() handle assign scalar to array
Field.getarray() for DBF_STRING returns 2d array
returns N by MAX_STRING_SIZE