Commit Graph

2842 Commits

Author SHA1 Message Date
Andrew Johnson c5a27fa32e Rework epicsThreadOnce() using ideas from Michael Davidsaver.
An epicsThreadOnceId is now an epicsThreadId.
During initialization, it is set to the thread running the init routine
which can now detect a recursive initialization attempt and suspend.
EPICS_THREAD_ONCE_INIT is still zero, the implementations now define a
new private value for EPICS_THREAD_ONCE_DONE.  This is deliberately not
made public.
2010-04-26 15:38:11 -05:00
Michael Davidsaver 356ee58927 use osi epicsMath.h 2010-03-24 13:17:41 -04:00
Michael Davidsaver cadbcb43a2 use C++ name make.h 2010-03-24 11:34:00 -04:00
Michael Davidsaver 75a15809fa epicsTimer: check that delay time is finite 2010-03-16 21:09:52 -04:00
Michael Davidsaver 244796bbaa remove STATIC 2010-03-16 21:09:51 -04:00
Andrew Johnson 3b0036b389 Improve code readablity, add more numeric tests. 2010-03-09 10:49:21 -06:00
Andrew Johnson c29551f247 Rename the time provider name routines, don't rely on the #define. 2010-02-09 10:49:08 -06:00
Andrew Johnson 215bbed49c Include standard headers before defining epicsExportSharedSymbols 2010-01-11 17:56:17 -06:00
Andrew Johnson 023cf2c548 Added redirection support for puts() and putchar(). 2009-12-22 23:47:19 +00:00
Andrew Johnson fd5773a3fc ESHUTDOWN is not in FreeBSD and hence not in RTEMS. 2009-12-22 17:43:25 +00:00
Andrew Johnson b8a2e64601 Added a couple of COMMANDLINE_LIBRARY synonyms for READLINE 2009-09-29 18:58:04 +00:00
Andrew Johnson 534ca2c86e Make ellFree() a 1-argument macro, calls ellFree2() with free as freeFunc. 2009-08-28 18:34:38 +00:00
Andrew Johnson f17ac39f29 Disable divide by zero warnings on MSVC when generating NAN and INF.
Use those values rather than calculating them independently.
2009-08-25 18:19:49 +00:00
Jeff Hill d84e9cb3ec exp passed to assert must not change the state of the data structures 2009-08-24 17:08:41 +00:00
Jeff Hill fa24d119dd use verify instead of assert (in tests) 2009-08-24 17:07:03 +00:00
Andrew Johnson 1c95101ae1 Fixed Till's report of non-thread-safe lazy-init. 2009-08-21 17:32:13 +00:00
Andrew Johnson c28520bea6 Adjust test 66 so it doesn't fail if the gcc optimizer result gives -1 but
glibc returns +1.  Both are correct, gcc is following a newer standard.
2009-08-21 14:49:01 +00:00
Andrew Johnson 87eace1bd4 Fix for solaris compiler complaint about ambiguity of 'exception'. 2009-08-18 19:26:37 +00:00
Jeff Hill 0012042a5e accomodate archaic vxWorks gnu compiler 2009-08-14 17:31:34 +00:00
Jeff Hill 78fc566dc4 improved thread creation failure exception diagnostics 2009-08-14 16:54:45 +00:00
Jeff Hill 6fe047731f added shjow func to epicsThread class 2009-08-10 21:48:50 +00:00
Jeff Hill 56c4c92588 improved show diagnostic 2009-08-10 21:41:59 +00:00
Andrew Johnson 57e5406684 Added STATIC_ASSERT macro.
Removed assert() definition for pre-ANSI C compilers.
2009-08-04 19:07:07 +00:00
Andrew Johnson 4868904839 Added CONTAINER macro, from Micheal Davidsaver (BNL). 2009-08-04 16:31:06 +00:00
Andrew Johnson 90db5a4ab0 Deleted test code which was moved to libCom/test some time ago. 2009-08-03 17:13:04 +00:00
Jeff Hill 72e1dba496 o no need to allocate or initialize one more fd_set than is used
(not a bug but messy)
o added optimization where we only check as many registered fd's
on the list as select tells us are active in its status
o added code to clear all of the  fd_set if select returns an error
(in practice this would not cause a bug other than some extra activity
that would immediately self terminate when it clear the flag in the fd_set,
and also we dont see the error message printed when select returns an error)
2009-07-30 23:21:19 +00:00
Jeff Hill d764e7d4df added "using namespace std" 2009-07-29 15:10:24 +00:00
W. Eric Norum 49ddec4294 Add cvtFastPerform to test harness. 2009-07-29 14:29:54 +00:00
W. Eric Norum fd6d1ce69c As reported by Michael Davidsaver.
Apparently the GeSys dynamic linker doesn't maintain C semantics.
I'm afraid that this behaviour is likely to cause lots of other problems,
but for now I'll apply the patch since it's harmless.
2009-07-23 21:04:27 +00:00
Jeff Hill 844ed6345a test also numbers in -5 to 5 range 2009-07-23 17:32:33 +00:00
Jeff Hill 7315f02888 added cvtFastPerfotm test 2009-07-23 17:25:51 +00:00
Andrew Johnson 3d717f4476 (M. Davidsaver): errnumlist was never initialized.
Removed long-deprecated errSymFind routine.
2009-07-09 20:11:02 +00:00
Andrew Johnson 0fb320c263 (M. Davidsaver): Use ELLLIST init macros. 2009-07-09 18:37:26 +00:00
Andrew Johnson 9663cd58f1 Fixed ELL*_INIT macros. 2009-07-09 17:51:17 +00:00
Andrew Johnson 039648824c Remove redundant macro definitions already defined in dbDefs.h
(M. Davidsaver)
2009-07-09 17:06:45 +00:00
Andrew Johnson 4e0ab97038 (M. Davidsaver): static keyword is part of C89,
remove all uses and internal definitions of LOCAL macro
2009-07-09 16:37:24 +00:00
Andrew Johnson d7d0531394 offsetof is required by C89 (M. Davidsaver) 2009-07-09 16:19:57 +00:00
Andrew Johnson d6fcbe14ab Cleaned up dbDefs.h and errMdef.h
Added various #include lines needed in other sources.
2009-07-09 15:27:43 +00:00
Andrew Johnson 70bf066ba9 Added ELLNODE_INIT and ELLLIST_INIT macros. 2009-07-08 19:04:22 +00:00
Andrew Johnson eb800fd351 Use new provider registration function name. 2009-07-06 20:17:29 +00:00
Andrew Johnson 2e38b09398 Tidy-up, deleted vxWorks-specific version (unnecessary),
added the task name to the printed assert message.
2009-07-02 19:49:11 +00:00
Jeff Hill cc3245bf65 finished removal of epicsShareAPI (as I assume was intended) 2009-06-30 19:15:48 +00:00
Andrew Johnson d84d198733 Initialize the errSym table as part of errlogInit rather than doing it
later in an error path, when we might have already run out of memory!
2009-06-19 18:24:22 +00:00
Andrew Johnson f32394e795 pdevLibVirtualOS needs epicsShareDef and explicitly setting to NULL,
but we can't do the latter in the os/default version.
2009-06-15 16:10:07 +00:00
Andrew Johnson 5d9317339f Removed function versions of macros, spacing cleanup. 2009-06-11 22:23:37 +00:00
Andrew Johnson a66a192ed5 Expand READONLY macro, deprecate. 2009-06-05 19:56:33 +00:00
Andrew Johnson 4fc14d2dfb Fix slash. 2009-06-05 19:10:46 +00:00
Andrew Johnson 9338d4ec59 Removed the guts of the SigAlarm code, which was only needed for HPUX
and on Linux breaks external libraries that use the Posix Timer API.
2009-06-04 21:31:39 +00:00
Andrew Johnson 68bdaa899e Fixes to allow building on Solaris. Its <cxxx> headers are evidently not
quite drop-in C++ replacements for the <xxx.h> C versions.
2009-06-02 22:31:46 +00:00
Jeff Hill 8d245ba595 added try/catch blocks so that we hopefully can bridge
periods where the new general time provides (unexpectedly
considering its advertised benfits) no time at all.
2009-05-11 22:50:06 +00:00