Andrew Johnson
c33607f2d2
Merged Michael's devlib-cleanup branch
2010-07-01 11:59:22 -05:00
Ralph Lange
bb740373bc
Fix: Replaced C++ style comments in C code with standard C comments.
2010-06-16 15:46:09 -04:00
Michael Davidsaver
5ce74f2a41
include compatibility definition of pdevLibVirtualOS
2010-05-28 12:04:46 +01:00
Nick Rees
31790737e4
Added Andrews changes to RULES_BUILD to generate a hint file for the runner
2010-05-27 15:36:52 +01:00
unknown
8337b5063d
Fix NULL handle issue
2010-05-27 05:47:07 -05:00
Michael Davidsaver
7d3986664e
fix typo in rtems internal function names
...
Not externally visible so no reason not to fix
2010-05-27 09:35:29 +01:00
Michael Davidsaver
eaf07d4f05
copyright boilerplate for devLibVME
2010-05-26 17:17:26 +01:00
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
Ralph Lange
23612a7afe
Merged Codeathon 2008 changes (10292..10293 on cvs-trunk branch).
...
* Fixed conflicts until base compiles
* COMPLETELY UNTESTED
2010-04-06 17:59:35 -04: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