Commit Graph

12084 Commits

Author SHA1 Message Date
Kukhee Kim fa564fbfdf BUG 572589: Make dbl emit empty strings for non-existent fields 2010-05-25 07:57:49 -07: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 6142ff3ece Steve Hartman (ORNL) says vxWorks 6.7 has nm back in GNU_BIN.
Hopefully it will stay there from now on.
2010-04-27 17:53:40 -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 c4d9293c79 Rewrite of epicsThreadOnce(); detects recursion on all archs. 2010-04-26 17:16:06 -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 6a1eb1954b MANY updates to RELEASE_NOTES.
In the future I will ask people to include changes to the Release docs in any
branch they propose for merging.
2010-04-21 13:13:33 -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
Andrew Johnson c185274de8 Merged Michael Davidsaver's 'rec-init' branch. 2010-04-09 16:28:53 -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 7fcc0b7411 Merge DST changes. 2010-03-08 17:36:18 -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 cad49539ff Correction: vxWorks 6.4 comes with nm in the workbench bin directory. 2010-02-09 16:50:52 -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 d7b97e49c8 Daylight savings time dates for 2010 2010-01-05 11:12:43 -06:00
Andrew Johnson cb7e5d506d Update timezone settings for 2010 2010-01-05 11:05:05 -06:00
Andrew Johnson 384c433eb3 Added .bzrignore file. 2009-12-23 15:08:53 -06:00
Andrew Johnson 1f414dd6b9 Ignore generated files and directories. 2009-12-23 15:06:44 -06:00