Michael Davidsaver
a161e42e82
[PATCH 11/12] remove unimplimented PCI api
2010-05-25 13:58:52 +01:00
Michael Davidsaver
c1142675b6
[PATCH 10/12] move general macros and error codes to devLib.h
...
includes devLibVME.h for compatibility
2010-05-25 13:58:51 +01:00
Michael Davidsaver
50bcef9c63
[PATCH 09/12] rename vme pointer table
2010-05-25 13:58:50 +01:00
Michael Davidsaver
000c98dbaa
[PATCH 08/12] fix includes
2010-05-25 13:58:50 +01:00
Michael Davidsaver
4a3b4358c3
[PATCH 07/12] rename devLib to devLibVME
2010-05-25 13:58:49 +01:00
Michael Davidsaver
46ec38756b
[PATCH 06/12] use epics extern macro
2010-05-25 13:58:46 +01:00
Michael Davidsaver
e21cde013d
[PATCH 05/12] reorganize devLib.h
...
Group functions by bus type with general functions at the top
add macro to exclude deprecated api
2010-05-25 13:58:45 +01:00
Michael Davidsaver
83adda7e6c
[PATCH 04/12] move "virtual os" definition to a seperate file
...
The virtual os table is not something ordinary devLib users
should know or care about.
2010-05-25 13:58:44 +01:00
Michael Davidsaver
ad8cd28f7d
[PATCH 03/12] mark all implimentation functions as static
2010-05-25 13:58:43 +01:00
Michael Davidsaver
acb905fcfc
[PATCH 02/12] add devInterruptInUseVME to function table
...
Add test for interrupt handler function to the virtual os table.
Adds a stub implementation to devLib.c
Renames OS implementations functions for RTEMS and vxWorks to avoid symbol name conflicts
2010-05-25 13:58:43 +01:00
Michael Davidsaver
62d035c310
[PATCH 01/12] add jumping VME interrupt routines to independent implementation
...
Adds implementations which use the virtual os table to invoke the
OS specific call.
rename conflicting functions
2010-05-25 13:58:42 +01:00
Andrew Johnson
6790acf78f
Fix for hang from Ron Sluiter.
2010-05-18 16:12:36 -05:00
Andrew Johnson
6eb36e1224
Fix build on Windows.
2010-05-18 16:10:07 -05:00
Andrew Johnson
6b64304570
Optimize epicsThreadOnce() routines.
...
Don't call epicsThreadGetIdSelf() unnecessarily, check for the value
EPICS_THREAD_ONCE_DONE first, since that's the most common state.
2010-05-14 17:26:54 -05:00
Andrew Johnson
6cd22d4efe
Don't call errlogPrintf() in epicsThreadGetOsiPriorityValue()
...
This is a partial fix of a WIN32-only problem Mark Rivers reported.
A WIN32 thread created by a manufacturer's library is used to call one
of his callback routines, which tries to use an epics facility that has
an epicsThreadOnce(). The new version of epicsThreadOnce() uses
epicsThreadGetIdSelf() to detect recursive initialization; the thread
doesn't have an epicsThreadId yet, so epicsThreadImplicitCreate() is
asked to make one. It calls epicsThreadGetOsiPriorityValue(), but
osdPriority is 15 which is not known by that code, so it reports an
error by calling errlogPrintf(). That checks epicsThreadIsOkToBlock()
which calls epicsThreadOnce() but that needs our epicsThreadId...
This doesn't solve the issue of the unknown osdPriority value 15
(priorityClass = 32), but it allows the IOC to continue working with
just a warning message at init time.
It also points out that calling epicsThreadGetIdSelf() every time we
check an epicsThreadOnce() is probably not good for performance.
2010-05-14 16:49:32 -05:00
Andrew Johnson
e9593e4b6c
Run epicsMessageQueueTest last, since it takes 5 minutes.
2010-05-05 15:43:58 -05:00
Andrew Johnson
831f48e719
Fix the macLib buffer overflow issue, Bug 551909.
...
This is mostly Eric's patches, without the valend name change.
2010-05-04 15:43:20 -05:00
Andrew Johnson
5868aae543
Define EPICS_THREAD_ONCE_DONE properly on RTEMS.
2010-05-04 14:39:37 -05:00
Andrew Johnson
12dc840eda
Don't print anything from epicsThreadShow() when tid=0.
...
Also don't pass level > 1 to vxWorks taskShow() routine.
2010-05-03 17:28:04 -05:00
Andrew Johnson
7f534cbc74
Rename 'thread' iocsh command to 'epicsThreadShow'.
2010-05-03 17:26:41 -05:00
Andrew Johnson
50d755a79f
Fix compiler warning about missing sentinel in execlp() call.
2010-05-03 12:29:13 -05:00
Andrew Johnson
d192f51858
Don't use back-tick chars as open quotes, they aren't any more.
2010-04-28 17:29:04 -05:00
Andrew Johnson
b4be728539
cvtFastPerform measures performance, it doesn't do functional testing.
...
* Cleaned up some warning messages in it on darwin
* Removed it from the epicsRunLibComTests function.
2010-04-26 17:19:10 -05:00
Andrew Johnson
6ece3235c9
Added libCom/test code for epicsThreadOnce() implementations.
...
Also fixed subsystems that were not using epicsThreadOnce correctly.
2010-04-26 15:48:42 -05:00
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