Commit Graph

9666 Commits

Author SHA1 Message Date
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 498ef7075e Fix missing parallel build dependency.
Ron Sluiter pointed out that gdd/dbMapper.h includes db_access.h so
gdd has to be built after ca, simplifying the cas dependency too.
2010-05-19 14:46:09 -05: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 618e189898 'make cvsclean' should delete old editor backup files too.
Not that we're using CVS for Base any more...
2010-04-28 17:19:36 -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
Andrew Johnson 4c70951869 Reduce warnings when built with Perl 5.10. 2010-04-21 17:35:26 -05:00
Andrew Johnson 32e34f536c Move STATIC_ASSERT statements.
This macro can only be used where a variable declaration is allowed,
the vxWorks compiler objects otherwise.
2010-04-20 17:13:54 -05:00
Ron Sluiter 20483795e4 Remove "dbRecordHead: tempList not empty" errors.
Loading a .db file that uses an unknown record type leaves items
on the parser's tempList.  This patch empties that list when the
error is reported so future dbLoadRecords() commands can run.
2010-04-12 11:31:24 -05:00
Michael Davidsaver e8f56d08b8 Ensure the string VAL and OVAL have the same storage length
There won't be any problems with overflow as long as dbPut
behaves correctly when setting VAL.
2010-04-06 14:48:48 -04:00
Michael Davidsaver b63e381fbe rec: update last/prev./old value fields after dset init_record
This must be done if init_record is allowed to change values
or monitors may not be posted when values change.
2010-04-05 14:49:18 -04:00
Ralph Lange 6518adf901 Merged Ralph Lange's 'compress-fix' branch. 2010-04-02 18:03:24 -04:00
Andrew Johnson c3b19955f5 Merged Michael Davidsaver's 'minor-fixes' branch. 2010-04-02 16:51:04 -05:00
Ralph Lange c6cf442abd Fixed crash when ALG (algorithm) was changed to Average at runtime. (Fixes #552803) 2010-04-02 17:26:17 -04:00
Andrew Johnson e56d4c2337 The monitor last value field needs to be initialized.
Device support init_record is allowed to set VAL to 1.
If uninitialized then mlst is 0.
During the first process() this will miss a monitor if VAL is changed to 0,
and cause a spurious monitor if VAL remains 1.

- mdavidsaver
2010-03-24 13:21:38 -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 77d09de2c4 quiet compiler warning 2010-03-16 21:09:53 -04:00
Michael Davidsaver d9a9a1f6ad remove unused iocRegister stub 2010-03-16 21:09:53 -04:00
Michael Davidsaver 75a15809fa epicsTimer: check that delay time is finite 2010-03-16 21:09:52 -04:00
Michael Davidsaver 4fb5c60493 softIoc: extra dep for generated header
This is needed to make the initial build work.
2010-03-16 21:09:52 -04:00
Michael Davidsaver 244796bbaa remove STATIC 2010-03-16 21:09:51 -04:00
Michael Davidsaver 36980c5a1a doc: note for dbScanLock 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 526cfdc9e7 Warn if the IOC's TOP changed since building.
If the IOC's registerRecordDeviceDriver routine sees a different path
to TOP than the one used at build-time, we tell the user.
2010-03-08 17:31:19 -06:00
Andrew Johnson a782ed68b9 Fix UDF processing so we respect IVOA. 2010-03-01 13:19:43 -06:00
Andrew Johnson 4bad7073e1 J field should not be PP, to match others. 2010-03-01 13:17:11 -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 f8e95a001b Ensure EPICS_HOST_ARCH is defined.
Added support for := and ?= assignments.
Warn when include files not found.
2009-12-22 23:55:02 +00:00
Andrew Johnson 023cf2c548 Added redirection support for puts() and putchar(). 2009-12-22 23:47:19 +00:00
Andrew Johnson b55cad9c16 Disable "redo last put on reconnection" for STRING writing to ENUM. 2009-12-22 23:43:52 +00:00
Andrew Johnson fd5773a3fc ESHUTDOWN is not in FreeBSD and hence not in RTEMS. 2009-12-22 17:43:25 +00:00
Janet B. Anderson 68b62dd4b3 Add rule to create depends file in O.<T_A> dir. Simplify Makefile. 2009-12-21 19:45:12 +00:00