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