Backwards-compatible enhancement to the asTrapWrite API to provide
listener routines with the data being put by the client.
The asTrapWriteMessage structure is extended with 3 new fields
for data type, element count and a pointer to the source buffer.
Tim Mooney requested this enhancement for his caPutRecorder code,
which doesn't work if the record overwrites the new value within
its process() routine, e.g. when jogging a motor record.
Introduced error status values for epicsTime routines.
The epicsTimeERROR identifier no longer exists, so code that uses it will
no longer compile (deliberately). Replace all uses of it with a specific
error status value.
Major rewrites; the original epicsStrnRawFromEscaped() could read
beyond the end of the input buffer if the input count ended in the
middle of an octal or hex escape sequence. Zero termination did not
always match the return count, and hex escapes were always 2 digits,
contrary to the C standard.
New versions don't use epicsSnprintf() or sscanf() for hex and octal
conversions, so should be slightly faster.
Added 81 new tests to check the above issues.
* VxWorks 5.5.2 doesn't like C++-style variable declarations in C code
* Older MS compiler doesn't have strto[u]ll
* Wrote release note entry for iocshLoad command.
osiSpawnDetachedProcess() switches to SCHED_OTHER after fork() so
the new program will not be real-time unless is requests it itself.
Only happens when USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES
To Do:
* Test that -l the flag to registerRecordDeviceDriver.pl works
as expected on Windows.
* Modify example template, or create a new template.
* Work out if/how this affects VxWorks, can we generate a munch
file that works the same way as a shared library?
* Test on all arch's, especially Darwin & Windows.