Uses Win32::Process or fork() to run caget/pvget.
The system_timeout() and qx_timeout() utilities added here
should be extracted into a separate EPICS::Timeouts module.
* github/pr/99:
fix an out-dated comment in the array filter code
add macro dbfl_pfield to db_field_log.h and use it in dbGet
fix in dbGet: decide use of db_field_log based on whether it has copy or not
add macro dbfl_has_copy to db_field_log.h and use it in dbAccess.c
refactor db_field_log and filters to get rid of dbfl_type_rec
make it clearer what the result of wrapArrayIndices will be
This refactor simplifies and streamlines the code associated with server
side filters. Apart from immediate benefits (clearer code, less duplication)
it is also hoped that this will make it easier to add write filters.
The data pointer dbfl_ref.field can now either point to a copy owned by a
filter, or it can point to the original data owned by a record. In the
latter case, the dbfl_ref.dtor is NULL.
The dbExtractArray* functions are unified to the single function
dbExtractArray and stripped of conversion functionality. This is redundant
because we always call dbGet after applying filters, which takes care of
conversion. Accordingly, dbChannelMakeArrayCopy is now obsolete and its
single use (in the ts filter) replaced with dbExtractArray. Instead, we add
the helper function dbChannelGetArrayInfo to wrap the common boilerplate
around calls to the get_array_info method, used in both arr.c and ts.c.
Our bare-word character set is wider than JSON5's. Quote any
keys containing the extra characters so YAJL can parse them,
but don't quote keys unnecessarily.
Tests for this behavior are in dbStaticTest.db
Adjust the other tests that read links parsed by the dbStatic
parser that used bareword keys, which are no longer quoted.
In some cases the license-identification header was missing,
so I added that as well. Replaced the remaining headers that
specifically identified "Versions 3.13.7 and higher".
Makefiles and the build system were deliberately excluded.
This lets us collect and echo their stderr streams, and if they
hang up without responding we can kill them directly instead of
just giving up and bailing out.
Left debug output turned on for now.
* main/make-simple:
restore ModuleDirs in caPerlApp
simplify e_flex/antelope path compute
further no need to search for perl modules under bin
skip RELEASE_TOPS
configure: Don't hide any perl scripts being run
missed a TOP
no need to search for perl modules under bin/
drop unnecessary *ModuleDirs
avoided embedded TOP for non sub-modules