Commit Graph
11519 Commits
Author SHA1 Message Date
Andrew Johnson 8dea585dc2 FreeBSD update to osdSock.h from Gerrit Kuehn. 2011-04-05 12:32:39 -05:00
Jeff Hill 0dab032751 avoid c++ static initialization order issues 2011-04-05 09:23:22 -06:00
Jeff Hill 4b780b1011 avoid c++ static initialization order issues 2011-04-04 17:50:49 -06:00
Jeff Hill fc3e876d57 avoid c++ static initialization order issues 2011-04-04 17:29:51 -06:00
Andrew Johnson e14b1e3d0b Merged various changes from the 3.14 branch. 2011-03-01 15:28:45 -06:00
Andrew Johnson f4528ff5e1 libCom: Fix msgbufGetNode() in errlog.c
Systems that generate large numbers of errlog messages or have a slow
message listener could overwrite older messages in the message buffer
after the buffer wraps.  This also corrects and annotates the test
code to describe what's being checked.
2011-03-01 15:03:33 -06:00
Michael DavidsaverandAndrew Johnson f242a27dea Merge std/*
Combine recIoc and softDevIoc libraries into dbRecStd

Move base.dbd from ioc/misc/ to std/softIoc/

Generate stdRecords.dbd from the std/rec/Makefile list of record
types instead of hard-coding it in base.dbd
2011-02-26 18:24:51 -06:00
Michael DavidsaverandAndrew Johnson e463793bc3 Merge ioc/*.
Merge miscIoc rsrvIoc dbtoolsIoc asIoc dbIoc registryIoc dbStaticIoc
into dbCore.

Move ioc/misc/asSubRecordFunctions.c to std/dev/asSubRecordFunctions.c
since it depends on the subRecord type.

Extracted ioc variable definitions from base.dbd into dbCore.dbd
2011-02-25 23:56:51 -06:00
Andrew Johnson e540ae0774 libCom: Ommitted to include the flex/RULES file. 2011-02-25 23:54:30 -06:00
Michael DavidsaverandAndrew Johnson f7fc564556 Fold antelope/flex and asHost into libCom
Build lexer and parser from libCom/Makefile.
Since libCom now includes asLib.c and asLib_lex.c we must build
antelope and flex without linking them to Com.  This works because
they only need epicsTempFile anyway.  However make doesn't like a
subdirectory with the same name as a target object, so the antelope
source directory is now called yacc.  The two main.c files were also
renamed to avoid other build problems.

Merge asHost into Com and remove mentions in CONFIG_BASE

Lots of noise since SRCS must be renamed to Com_SRCS
2011-02-25 15:39:44 -06:00
Andrew Johnson 588ea50bfb Split libCom/Makefile into individual subdirectories.
The new Makefile fragments in the subdirectories are incomplete and will
not work individually.  Build rules are placed in a separate RULES file.
This approach keeps the instructions for building each file local and
easier to find than in a large Makefile in the parent directory.
2011-02-25 00:49:03 -06:00
Janet Anderson 53dc5101be Added code for TESTLIBRARY 2011-02-16 10:57:20 -06:00
Jeff HillandAndrew Johnson fd72cb63bf libCom/WIN32: Merged Jeff's fix for bug 717252
o Fixed race condition where win32 thread parm was not pushed onto the
  list before the thread was started, and so if the thread exits very
  quickly it can try to remove a non-existent thread parameter from
  the list.
o This impacts only win32.
2011-02-11 16:33:58 -06:00
Andrew Johnson c698853394 libCom: Merged Jeff's epicsThread change.
When finished waiting for a thread to exit, signal the event in case
other threads are waiting also.
2011-02-11 15:04:04 -06:00
Andrew Johnson 22f1e8201f libCom/WIN32: Merged Jeff's WIN32/osdThread changes
Fixed spelling and other cosmetic changes.
2011-02-11 15:01:39 -06:00
Andrew Johnson b38127450e libCom/WIN32: Merged Jeff's osdTime fix
Fixed last time compare in PLL drift factor update loop.
2011-02-11 14:59:35 -06:00
Andrew Johnson fbcc7b4a0d ca: Merged Jeff's tcpiiu changes
In disconnectAllChannels mark channels as unassigned to any list
because in some unusual situations (abrupt shutdown) the channels are
not immediately assigned to another list.
2011-02-11 14:55:04 -06:00
Andrew Johnson 072b449bb1 libCom: Fixed epicsEvent issues on Win32 and cygwin.
* Removed all epicsShareAPI decorations
* Return value from Win32 epicsEventTrigger() inverted
* Return OK from posix epicsEventTrigger() omitted.
2011-02-08 14:17:47 -06:00
Andrew Johnson 77192b3228 libCom: Reworked the epicsEvent APIs
* Renamed the enum epicsEventWaitStatus to epicsEventStatus
* Defined epicsEventWaitStatus as a macro for epicsEventStatus
* Renamed epicsEventWaitOk to epicsEventOk
* Renamed epicsEventWaitError to epicsEventError
* Defined epicsEventWaitOK and epicsEventWaitError as macros
* Added epicsEventTrigger(id) which triggers an event and returns OK or an
    error status if the underlying OS primitives report an error
* Added epicsEventMustTrigger(id) which halts on error
* Defined epicsEventSignal(id) as a macro for epicsEventMustTrigger(id)
* Added a new C++ method epicsEvent::trigger() which throws an
    epicsEvent::invalidSemaphore in the event of an error
* epicsEvent::signal() makes an inline call to epicsEvent::trigger()
* epicsEventWait() and epicsEventWaitWithTimeout() now return an error
    status if the underlying OS primitives report an error
* All the epicsEventMust...() routines are now implemented in the common
    libCom/osi/epicsEvent.cpp source file, and call cantProceed() instead of
    mis-using assert()
* Implemented epicsEventShow() on Posix
2011-02-08 12:02:08 -06:00
Jeff Hill 5a11866431 when finished waiting for a thread to exit, signal the event in case other threads are waiting also 2011-01-14 18:01:53 -07:00
Jeff Hill 253036c36c o committing merge of r3.14 trunk change
o fixed spelling and other cosmetic changes
2011-01-14 18:00:02 -07:00
Jeff Hill 793639f4da fixed last time compare in PLL drift factor update loop 2011-01-14 17:56:49 -07:00
Jeff Hill a2c87268f5 in disconnectAllChannels mark channels as unassigned to any list because in some unusual situations (abrupt shutdown) the channels are not immediately assigned to another list 2011-01-14 17:53:33 -07:00
Andrew Johnson 04800ac6c5 Merged large array element count fix from 3.14 branch. 2011-01-13 16:29:22 -06:00
Jeff HillandAndrew Johnson a52b995ca2 rsrv: Fixed large array element count bug
Reverted commit 12095.2.5 which introduced an incorrect optimization.

Fixes:701673
2011-01-13 16:21:31 -06:00
Jeff Hill 2af392a099 fix for bug 701673 at launchpad (wrong native element count for large arrays) 2011-01-12 15:41:33 -07:00
Andrew Johnson cddd8d9563 Merged errlog fix from 3.14 branch. 2011-01-07 10:38:58 -06:00
Michael DavidsaverandAndrew Johnson 6170dc9406 libCom: Fix errlogPrintf() assert fail at shutdown
If errlogPrintf() gets called during shutdown, it can cause a
recursive assert failure.

Fixes lp:693534
2011-01-07 10:24:31 -06:00
Michael DavidsaverandAndrew Johnson b18cacc216 Reorganize src/Makefile
Group entries by "Module"
2010-12-17 14:26:24 -05:00
Michael DavidsaverandAndrew Johnson 4910c76925 move alarm.h to libCom/misc 2010-12-17 14:05:59 -05:00
Michael DavidsaverandAndrew Johnson 2cf6f43c5f Split up src/util
Move log server into libCom with the log client.
Move caRepeater init script and ca_test into ca/client/
2010-12-17 12:21:29 -05:00
Michael DavidsaverandAndrew Johnson b52927e66c Move asHost to libCom/as 2010-12-17 11:50:52 -05:00
Andrew Johnson 6c7065f81a Merged tools fix from 3.14 branch. 2010-12-16 17:07:30 -06:00
Andrew Johnson 23daca46a1 tools: More back-slash escape fixes
Thanks to Stephen Norum for pointing most of these out and
testing the patch.
2010-12-16 17:02:15 -06:00
Michael DavidsaverandAndrew Johnson 31533ba62e Fixup Makefiles
Adjust TOP and paths
2010-12-16 17:05:05 -05:00
Michael DavidsaverandAndrew Johnson 2a36a3906d Stage 1 reorganization
Directory moves.

  src/RTEMS/ => src/libCom/RTEMS/
  src/as/ => src/ioc/as/
  src/bpt/ => src/ioc/bpt/
  src/ca/ => src/ca/client/
  src/cap5/ => src/ca/client/perl/
  src/cas/ => src/ca/legacy/pcas/
  src/catools/ => src/ca/client/tools/
  src/db/ => src/ioc/db/
  src/dbStatic/ => src/ioc/dbStatic/
  src/dbtools/ => src/ioc/dbtemplate/
  src/dev/softDev/ => src/std/dev/
  src/dev/testDev/ => src/std/test/
  src/excas/ => src/ca/legacy/pcas/ex/
  src/gdd/ => src/ca/legacy/gdd/
  src/makeBaseApp/ => src/template/base/
  src/makeBaseExt/ => src/template/ext/
  src/misc/ => src/ioc/misc/
  src/rec/ => src/std/rec/
  src/registry/ => src/ioc/registry/
  src/rsrv/ => src/ioc/rsrv/
  src/softIoc/ => src/std/softIoc/
  src/toolsComm/ => src/libCom/tools/
2010-12-16 15:15:52 -05:00
Andrew Johnson 41c12475ec Merged registry fix from 3.14 branch. 2010-12-14 15:14:24 -06:00
Andrew Johnson f9ebe082ff registry: Escape back-slashes in bldTop string literal on Win32. 2010-12-14 15:05:26 -06:00
Andrew Johnson 9a831f9dc5 libCom: Simplify libCom/Makefile by splitting into parts
Each SRC_DIR gets its own Makefile fragment, and where it needs
private build rules a RULES files.

If this pattern gets used elsewhere we could automate the include
lines (search $(SRC_DIRS) for Makefiles and RULES files?).
2010-12-10 15:23:42 -06:00
Andrew Johnson 51578959d4 dev: Replaced callocMustSucceed() with calloc()
Make the *iSoftCallback devices allocate a single buffer for private
storage instead of several, and cope with calloc failures without
suspending the IOC thread.
2010-12-01 15:14:09 -06:00
Andrew Johnson 26f6eabdf5 dev: Rename notifyInfo structure to devPvt. 2010-11-30 17:32:09 -06:00
Andrew Johnson 055d312519 Merged deprecations work. 2010-11-24 16:28:57 -06:00
Andrew Johnson 23c7e64490 rec: Fix calc & calcout get_precision() 2010-11-24 13:35:04 -06:00
Ralph Lange 3ca705752a catools: Fix help text for "-s" option (also in CA RefMan) 2010-11-24 13:31:47 -05:00
Andrew Johnson 05cd81a5d5 RTEMS: Removed RTEMS/base directory.
All files were moved up one level.
2010-11-17 16:55:22 -06:00
Andrew Johnson bc7e87b961 RTEMS: Warning cleanups from Eric. 2010-11-17 16:30:32 -06:00
Andrew Johnson c503a03f37 libCom/errlog: Clean up possible problem at shutdown.
Don't use epicsMutexMustLock() in msgbufGetFree().
When we're shutting down, the pvtData.msgQueueLock gets destroyed.
This makes msgbufGetFree() return NULL if the lock is dead.
The epicsMutexMustLock() routine asserts(), which recurses...
2010-11-15 15:46:40 -06:00
Andrew Johnson 18594e1a34 subArray: Bugfix, allow array puts to VAL
Fixed a bug reported by Michael Abbott, NORD goes -ve.
Modified soft channel support so when INP="" it extracts the relevent
sub-array of the existing VAL field; use an external put to set the
array. This lets the other records pull a series of values from the
record in sequence.
2010-11-12 16:09:09 -06:00
Andrew Johnson b5c185877d RTEMS: Allow for 64-bit compatibility in RTEMS 4.10. 2010-11-10 09:44:19 -06:00
Janet Anderson b82db48335 Use win32-x86 values for default values. 2010-11-09 15:37:08 -06:00