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
src/libCom/osi/os/posix/osdBackTrace.c => src/libCom/osi/os/posix/osdExecinfoBackTrace.c
src/libCom/osi/os/posix/osdFindAddr.c => src/libCom/osi/os/posix/osdElfFindAddr.c
not all 'posix' platforms can use the above versions (since the used APIs are not really POSIX)
but a subset can. The platforms which can use either version #include it from 'their'
osdBackTrace.c/osdFindAddr.c.
These replace the mixture of macros used to pick the features
presented by the standard system header files on Linux.
Updated the section of the CA reference manual that showed some
example compile lines to correct for 3.15 build changes.
Removed unused code & out-of-date comments.
is non-standard either and AFAIK always based on the latter.) Always
using dladdr allows us to precisely control the printout formatting
and keep it consistent.
1) Added a paranoia test to make sure an ill-formatted
ELF string table is not overrun if there is no NULL
char found.
2) Added errlogFlush() before and after stack dump (suggestion
by Michael Davidsaver, thanks).
3) Fixed (out of sync) debug messages.
dependent on its ability to lock part or all of the process's virtual
address space into RAM, preventing that memory from being paged to the swap
area. This patch will attempt to lock the process's virtual address space into
RAM if the process has the ability to run threads with different priorities. If
unsuccessful, it prints an message to stderr.
In Linux, one can grant a process the ability to run threads with different
priorities by using a command like ulimit -r unlimited. To use the FIFO
scheduler, use a command like so - chrt -f 1 softIoc -d test.db
In Linux, one can grant a process the ability to lock memory by using a command
like ulimit -l unlimited. Alternatively, these limits can be configured on a per
user/per group basis by using /etc/security/limits.conf or its equivalent.
In Linux, a child process created via fork inherits its parent's resource
limits. Thus, it is probably a good idea to start the caRepeater before
starting the IOC.
Circular initialization problem that Murali discovered when you
try to fprintf(stderr) from the posix/osdThread.c once() routine.
This change lets the stderr stream through in that case.