prefer SO_REUSEPORT on targets which define it.
Linux defines both, and seems to treat
SO_REUSEPORT and SO_REUSEADDR as equivalent.
BSD derivatives need SO_REUSEPORT.
taskWait() actually returns OK on timeout, so drop the timeout warning
(the other implementations don't have one).
The taskWait() may return ERROR with S_objLib_OBJ_ID_ERROR if the target
thread has higher priority; this indicates a successful join, because
we already did a rendezvous using joinSem.
Delete joinSem *after* calling taskSpareFieldSet(), in case it matters.
* 3.15:
minor epicsTimerTest
epicsTimerTest loosen test threshold
debug epicsTimerTest
posix/epicsMath.h
Revert "libcom: fix colliding isnan/isinf between C99 and C++0x for gcc-4"
Revert "libcom: properly declare isnan() in C++ code"
travis-ci /etc/hosts workaround
redo travis-ci with matrix
epicsSockResolveTest add detail
libcom: properly declare isnan() in C++ code
libcom: fix colliding isnan/isinf between C99 and C++0x for gcc-4
libcom: import some C99 math (isnan etc.) into global namespace
# Conflicts:
# .travis.yml
# ci/travis-prepare.sh
Exception specifications are deprecated: http://isocpp.github.io/
CppCoreGuidelines/CppCoreGuidelines.html#e30-dont-use-exception-
specifications . They will be removed from the C++ standard with
C++20. Modern compilers are warning about them since years. Thus
it's unlikely that anyone is still using the epicsThrows() macro.
Even if that's the case the fix is trivial: Simply remove the macro.
* zimoch/iocLogClientFixesTry2: (22 commits)
use EPICS_PRIVATE_API macro and fix bug with darwin/ios
renamed epicsSocketCountUnsentBytes to epicsSocketUnsentCount and moved it to osi/os/
fix bug from commit f85454. Apparently epicsExportSharedSymbols is needed even though epicsExport.h is included
epicsSocketCountUnsentBytes returns -1 on failure
bugfix: memmove'ed to much
epicsSockCountUnsentBytes renamed to epicsSocketCountUnsentBytes
moved logClientSendMessage and made it static
fix wrong function name in comment
sending 0 bytes helps to detect broken connections on some systems (but is undefined behavior on Linux, fails on vxWorks and is a documented no-op on Windows)
cannot print sockets with %d in Windows, they are not small ints but maybe pointers.
ask logClient socket how many bytes are still in the send queue and don't discard them in case the connection turns out broken.
use dynamic debug flag for logClient
increase error message buffer size for long (Windows) error messges
improve logClientShow to show unsent bytes on level 2 (and fix level 1)
removed unneeded include
no need to delay startup only because log server is currently not available
send pending log messages directly after connecting
avoid needless memmove calls
elimitate duplicate code in logClient
do not discard unsent messages when log server has closed connection, instead try to send them after reconnect
...
* lp-Com/use-monotonic:
VxWorks: Measure CPU time-base frequency if necessary
replace most internal getCurrent() -> getMonotonic()
dbScan periodic scan use monotonic time
monotonic adapt to regular time APIs
Force cleanup of resource for threads which may
still be running opens the possibility of strange
race conditions. Like threads be erroneously
detected as non-epics.
Doing this cleanup at process exit serves no real
purpose. This code might be valid to re-add
in a DLL exit handler.
* 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
* 3.15: (28 commits)
update RELEASE_NOTES
add option EPICS_NO_CALLBACK
replace CALLBACK -> epicsCallback
Update dbTest.c
Remove links to wiki-ext
Add POD annotations from Wiki to subArrayRecord and menuAlarmStat
Rename subArrayRecord.dbd and menuAlarmStat.dbd to .pod
Add POD annotations to longoutRecord from Wiki
Rename longoutRecord.dbd longoutRecord.dbd.pod
Add POD annotations to longinRecord from Wiki
Rename longinRecord.dbd longinRecord.dbd.pod
Add POD annotations to subRecord from Wiki
Rename subRecord.dbd subRecord.dbd.pod
Add POD annotations to selRecord from Wiki
Rename selRecord.dbd selRecord.dbd.pod
Add POD annotations to seqRecord from Wiki
Rename seqRecord.dbd seqRecord.dbd.pod
Fix menu declaration test too
Add redefinition guard to menu-generated typedefs
Updates to existing .dbd.pod texts, add event and fanout from wiki
...
# Conflicts:
# documentation/README.1st
# documentation/README.html
# modules/database/src/ioc/db/callback.h
# modules/database/src/ioc/db/dbNotify.c
# modules/database/src/ioc/db/menuAlarmStat.dbd
# modules/database/src/ioc/db/menuFtype.dbd
# modules/database/src/std/rec/compressRecord.dbd.pod
# modules/database/src/std/rec/eventRecord.dbd
# modules/database/src/std/rec/fanoutRecord.dbd
# modules/database/src/std/rec/longinRecord.dbd
# modules/database/src/std/rec/longoutRecord.dbd
# modules/database/src/std/rec/selRecord.dbd
# modules/database/src/std/rec/seqRecord.dbd
# modules/database/src/std/rec/subArrayRecord.dbd
# modules/database/src/std/rec/subRecord.dbd
# modules/libcom/src/iocsh/menuAlarmStat.dbd.pod
# modules/libcom/src/iocsh/menuFtype.dbd.pod
# src/ioc/db/menuAlarmStat.dbd
# src/ioc/db/menuFtype.dbd
Manually fix some move+rename
Make additional CALLBACK -> epicsCallback
preserve INT64 in menuFtype
preserve OLDSIM et al