Commit Graph

3623 Commits

Author SHA1 Message Date
Andrew Johnson
9df39475cd Merge Martin Konrad's fix-log-issues branch into 3.15 2020-04-14 11:41:23 -05:00
Andrew Johnson
38339b6ccf Initialize main thread as OkToBlock 2020-04-13 17:56:09 -05:00
Andrew Johnson
b2160bd618 Merge Martin Konrad's replace-usleep branch into 3.15 2020-03-20 13:40:35 -05:00
Andrew Johnson
a9034bb586 Fix clock_gettime issue on newer MinGW builds
Fixes lp: #1853168
2020-03-07 00:40:13 -06:00
Martin Konrad
f9820577c1 Replace usleep call by nanosleep
Also improve behavior in case signals are delivered to the sleeping
thread. This fixes a potential security weakness reported by codacy
(interaction of usleep with SIGALRM and other timer functions such
as sleep(), alarm(), setitimer(), and nanosleep() is unspecified).
2020-03-04 11:19:02 -05:00
Michael Davidsaver
e6914f3b80 osdSockUnsentCount.c check for existance of SIO_TCP_INFO 2020-02-20 15:37:18 -05:00
Andrew Johnson
dbd6f7e807 Adding tests for epicsThreadClass API
Two tests are disabled which hang the parent in the epicsThread destuctor
2020-01-23 14:26:33 -06:00
Michael Davidsaver
f64f84744e more fun with isinf() and friends.
GNU libstdc++ prior to GCC 6.1.0, the overlay math.h always
includes math.h from glibc, which defines isinf() and friends.

GCC 6.1.0 includes a change (6c8ced3f4f867b72a623fe2f23efa204c5786a28)
so that the overlay math.h never includes the glibc math.h
when compiling c++.
The overlay math.h sometimes includes "using std::isinf"
Determined by inspecting libc math.h when building gcc.
2019-12-18 20:30:23 -08:00
Andrew Johnson
475963453c Merge Martin Konrad's retire-epicsexcept branch into 3.15 2019-12-17 23:48:45 -06:00
Michael Davidsaver
feb938fae2 minor epicsTimerTest
(cherry picked from commit 7acd7c6145)
2019-12-16 13:16:31 -08:00
Michael Davidsaver
e068191684 epicsTimerTest loosen test threshold
(cherry picked from commit f955199805)
2019-12-16 13:16:30 -08:00
Michael Davidsaver
33f2d8c4aa debug epicsTimerTest
(cherry picked from commit 2af0c10470)
2019-12-16 13:16:29 -08:00
Michael Davidsaver
60a092fa50 posix/epicsMath.h
Include "<cmath>" for c++11 and pull in
non-namespace versions of isnan() and friends.
2019-12-16 11:40:13 -08:00
Michael Davidsaver
24f08460bb Revert "libcom: fix colliding isnan/isinf between C99 and C++0x for gcc-4"
This reverts commit 09ec3af337.
2019-12-16 11:40:13 -08:00
Michael Davidsaver
247fea0fa9 Revert "libcom: properly declare isnan() in C++ code"
This reverts commit 2e89a60c2d.
2019-12-16 11:40:13 -08:00
Michael Davidsaver
b0418e5274 epicsSockResolveTest add detail 2019-12-16 11:40:13 -08:00
Ralph Lange
2e89a60c2d libcom: properly declare isnan() in C++ code 2019-12-11 14:51:16 +01:00
Ralph Lange
09ec3af337 libcom: fix colliding isnan/isinf between C99 and C++0x for gcc-4
This fix can be removed once support for gcc-4 is dropped in 2038
2019-12-06 10:52:38 +01:00
Ralph Lange
70e9d46d75 libcom: import some C99 math (isnan etc.) into global namespace 2019-12-05 16:44:59 +01:00
d2d8674cb9 use EPICS_PRIVATE_API macro and fix bug with darwin/ios 2019-11-13 14:02:25 -05:00
6f193242e0 renamed epicsSocketCountUnsentBytes to epicsSocketUnsentCount and moved it to osi/os/ 2019-11-13 14:02:23 -05:00
39e8ccdef4 fix bug from commit f85454. Apparently epicsExportSharedSymbols is needed even though epicsExport.h is included 2019-11-13 13:49:28 -05:00
eb8992a750 epicsSocketCountUnsentBytes returns -1 on failure 2019-11-13 13:49:27 -05:00
62fb49f93b bugfix: memmove'ed to much 2019-11-13 13:49:27 -05:00
a5c9db8c8e epicsSockCountUnsentBytes renamed to epicsSocketCountUnsentBytes 2019-11-13 13:49:26 -05:00
04e752c83a moved logClientSendMessage and made it static 2019-11-13 13:49:26 -05:00
a16ce877e7 fix wrong function name in comment 2019-11-13 13:49:26 -05:00
15f28f1183 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) 2019-11-13 13:49:25 -05:00
9c18ce007a cannot print sockets with %d in Windows, they are not small ints but maybe pointers. 2019-11-13 13:49:25 -05:00
765af2efea ask logClient socket how many bytes are still in the send queue and don't discard them in case the connection turns out broken. 2019-11-13 13:49:24 -05:00
059c385286 use dynamic debug flag for logClient 2019-11-13 13:49:24 -05:00
feb1f9b0df increase error message buffer size for long (Windows) error messges 2019-11-13 13:49:23 -05:00
9d9840ad1e improve logClientShow to show unsent bytes on level 2 (and fix level 1) 2019-11-13 13:49:23 -05:00
af73e4cf65 removed unneeded include 2019-11-13 13:49:23 -05:00
ad861a0617 no need to delay startup only because log server is currently not available 2019-11-13 13:49:22 -05:00
1b88e834d6 send pending log messages directly after connecting 2019-11-13 13:49:22 -05:00
e000ea4913 avoid needless memmove calls 2019-11-13 13:49:21 -05:00
06f1a8ec23 elimitate duplicate code in logClient 2019-11-13 13:49:21 -05:00
cf2658be53 do not discard unsent messages when log server has closed connection, instead try to send them after reconnect 2019-11-13 13:49:20 -05:00
74a403090b speed up logRestart thread termination at exit 2019-11-13 13:49:20 -05:00
dc123a0a37 don't send errlog on all logClients 2019-11-13 13:49:20 -05:00
Martin Konrad
b37bfe3ed0 Retire unused epicsExcept.h
Due to a syntax error this header has been unusable since 2001
(since 34ea7db15b), and no one
noticed. Let's remove it.
2019-11-12 12:12:47 -05:00
Andrew Johnson
3881328f2f Merge branch 'vxworks-tz-support' into 3.15 2019-10-22 15:32:46 -05:00
Michael Davidsaver
73fec88168 replace CALLBACK -> epicsCallback
git grep -l -w CALLBACK -- src|xargs sed -i -e 's/\bCALLBACK\b/epicsCallback/g'

with exceptions in callback.h
2019-09-09 16:22:20 -07:00
Michael Davidsaver
2db2f1a53f Merge remote-tracking branch 'konrad/fix-compiler-warnings' into 3.15
* konrad/fix-compiler-warnings:
  epicsTime: rely on implicit copy constructor
  iocLogServer: check return values
  Fix potential buffer overflow in iocLogServer
  Fix weird use of strncpy
2019-06-24 18:21:32 -07:00
Andrew Johnson
e75a72ef76 VxWorks: Mark undetected underflow parse test as ToDo 2019-06-07 17:22:40 -05:00
Andrew Johnson
33e099a51b Fix VxWorks osiSockOptMcastLoop_t => char
Repairs osiSockTest
2019-06-07 17:21:18 -05:00
Andrew Johnson
96998f55e0 Have VxWorks call tz2timezone() once clock is sync'd 2019-06-07 14:55:26 -05:00
Andrew Johnson
b57f02ece2 epicsTimeTo[GM]TM(): Allow pNSecDest==NULL 2019-06-07 13:26:24 -05:00
Andrew Johnson
b0db6568ea Replace EPICS_TIMEZONE envParam with EPICS_TZ
Adjust rtems_init() to use it.
2019-06-07 13:24:39 -05:00