Commit Graph

3424 Commits

Author SHA1 Message Date
Ralph Lange a977edfaa6 libCom/osi: add epicsSpin with default, posix, and vxWorks implementations
- posix uses pthread_spin_ interface when supported, pthread_mutex_ otherwise
- default uses epicsMutex
- vxWorks (single core) uses intLock()
2012-10-29 20:25:23 +01:00
Andrew Johnson 7f21c8eec1 Merged changes from 3.14 branch
Merged up to revno 12369 on 2012-10-17
2012-10-18 00:10:12 -05:00
Michael Davidsaver 26173c1e0d devLib: add compatibility typedef for VME table type 2012-10-10 15:52:34 -05:00
Andrew Johnson 68bde36d75 Merged changes from 3.14 branch.
Merged up to commit 12364 (2012-09-11) inclusive.
2012-10-01 00:54:10 -05:00
Ralph Lange ca441a2a0e libCom/osi: (posix) make getOssPriorityValue() public as epicsThreadGetPosixPriority() 2012-09-20 21:55:32 +02:00
Ralph Lange 047bdc9200 libCom/osi: (posix) keep scheduling policy by thread, to support SCHED_RR 2012-09-18 13:43:02 +02:00
Ralph Lange 2485c1fb1c libCom/osi: Rename osd thread sched policy flag (Fifo -> RealTime) 2012-09-17 13:22:09 +02:00
Andrew Johnson 169b30081a Fix for vxWorks 6.x LED_ID
Use LED_ID in epicsReadline.c
Provide a typedef for vxWorks 5.x where it doesn't exist.
2012-08-31 16:05:14 -05:00
Andrew Johnson a19e1d21da libCom: Fix epicsSnprintf() under MinGW
Use the Microsoft _vscprintf() function which was just missing
a prototype in earlier versions of MinGW's stdio.h header.
2012-08-31 15:57:59 -05:00
Andrew Johnson 7da070bca3 Fix bldEnvData.pl library search path
It wasn't working when INSTALL_LOCATION is used.
2012-08-23 09:45:31 -05:00
Andrew Johnson d9013bffe9 libCom: Expand comments on -fvisibility in shareLib.h 2012-08-03 17:37:15 -05:00
Andrew Johnson 8b616ba00a Merged changes from 3.14 branch
Includes everything up to revno 12352 on 2012-07-31
2012-07-31 14:04:38 -05:00
Andrew Johnson 97490f6977 Reworking of DLL build rules.
Allows static libraries and DLLs to be built without having
to do a 'make clean' in between on Cygwin and MinGW targets.
The Cygwin build still crashes when SHARED_LIBRARIES = YES
though, loading Com.dll seems to cause the problem.
2012-07-27 16:24:39 -05:00
Andrew Johnson c23b907eee Reduce the duration of epicsMessageQueueTest to 60 seconds. 2012-07-24 11:29:31 -05:00
Andrew Johnson 4ee3628b2b Move epicsMath.h below epicsExportSharedSymbols 2012-07-24 11:07:09 -05:00
Andrew Johnson 2462ff7eb1 MinGW provides getopt(), don't build our own 2012-07-24 11:05:35 -05:00
Andrew Johnson 3b64840183 Delete remnants of Aix and Borland. 2012-07-20 18:11:15 -05:00
Andrew Johnson c6aab2390c More fixes for Cygwin builds. 2012-07-20 17:50:59 -05:00
Andrew Johnson 20b3955cd7 More Windows build fixes. 2012-07-19 14:59:55 -05:00
Andrew Johnson e02aaf5ef9 Various updates for building on Windows/Cygwin/MinGW 2012-07-18 15:35:32 -05:00
Andrew Johnson 4fb697d085 Clean up warnings on Darwin 2012-07-18 12:51:50 -05:00
Andrew Johnson 7f04d825ce Add some missing epicsShareClass decorations.
Also set the gcc-4 visibility attribute in shareLib.h
2012-07-17 23:41:06 -05:00
Andrew Johnson 64c9d7a32a Many tweaks to build on Windows.
There might be some more to come since I'm not committing
this from my Win32 system.
2012-07-17 14:33:31 -05:00
Janet Anderson cc088e77b6 libCom: Linux osdThread.h needs sys/types.h for pid_t 2012-07-13 10:59:07 -05:00
Andrew Johnson 36d8e674cb Merged changes up to yajl 1.0.12 2012-07-09 13:02:32 -05:00
Andrew Johnson 62727dcba6 Clean up warnings from gcc 4.6.3 2012-07-07 15:54:31 -05:00
Andrew Johnson 2559e1a3b7 Clean up build warnings from clang. 2012-07-07 13:50:55 -05:00
Andrew Johnson 3bfc6dcf64 errlog in tests
Take eltc(0) out of testPlan() and explicitly add it to those tests
that should suppress expected errlog output.
2012-07-06 17:47:56 -05:00
Andrew Johnson 0597f9c1c8 libCom: Fixed issues with thread-hooks. 2012-07-06 16:33:10 -05:00
Andrew Johnson 004826e67a Clean up some warnings. 2012-07-06 14:26:20 -05:00
Andrew Johnson dda5e60250 libCom/test: Rename test harness as "libComTestHarness" 2012-07-06 14:23:03 -05:00
Andrew Johnson a942295ead libCom/calc: Support 0x literals as epicsUInt32
Also use epicsInt32 for all integer calculations.
2012-07-06 14:17:51 -05:00
Andrew Johnson f9bb1ef542 Fix vxWorks build issues from thread-hooks merge. 2012-07-05 13:39:00 -05:00
Andrew Johnson a857f7a5ed Merged Ralph's thread-hooks branch.
Minor modifications to fix the vxWorks epicsThreadInit() and
rename some functions.
2012-07-04 13:28:55 -05:00
Ralph Lange 137283ec0b libCom/osi: Add default start hook for _main_ thread 2012-07-03 15:27:50 +02:00
Ralph Lange 7b47cad8e4 libCom/osi: Clean up epicsThreadHooks API
- remove exit hooks completely
- remove non-public functions fom header files
- add test for epicsThreadMap
- fix bugs in RTEMS and vxWorks implementation of epicsThreadMap
2012-07-03 14:38:12 +02:00
Ralph Lange e834832cda libCom/osi: Don't decorate epicsThreadHook functions with epicsShareAPI 2012-07-03 13:20:01 +02:00
Ralph Lange 0e6a01d56a libCom/osi: Streamline epicsThreadShowInfo functions between implementations
- epicsThreadShowInfo: private function to print headers or task line,
  not in header file, using internal pointer type
2012-07-03 11:16:09 +02:00
Ralph Lange da91893ec2 libCom/test: Add test for epicsThreadHooks 2012-07-02 18:18:54 +02:00
Andrew Johnson 9fe5ce82d3 Merged the db-test branch.
Also made additional changes:
* Simplified xRecord.c so it can run on vxWorks.
* Standard way to load DBD and DB files in tests

All test harnesses now run on vxWorks (but some tests still fail).
2012-07-02 11:03:55 -05:00
Ralph Lange 37e490d1b2 libCom/osi: Make vxWorks implementation of epicsThreadMap() safe and dynamic 2012-07-02 14:21:39 +02:00
Ralph Lange cfd8c0abde libCom/osi: Fix nesting for epicsThreadHooks, add WIN32 implementation, lock traversal
- call (generic) exit hook after calling the (specific) epicsExitCallAtThreadExits()
- for start hooks added as 1-2-3, run exit hooks in opposite order: 3-2-1
- add calls to hooks module to WIN32 osdThread.c
- add lock/unlock to hook list traversal
2012-07-02 11:31:01 +02:00
Andrew Johnson da9982f875 libCom: Fix unsigned overflow limits in epicsParse*
The strtoul() routine accepts negative numbers.  This fix
ensures we handle them properly, and adds suitable tests.

Also fix the test for 1e300, in case the compiler gives a
slightly different literal constant than strtod() returns.
2012-06-30 15:34:29 -05:00
Andrew Johnson fb61234431 Change the epicsParse APIs to return a units pointer.
This lets us use epicsParseDouble() for scan rate parsing.

Ensure the scanOnce thread is a higher priority than the fastest
periodic scan thread, irrespective of how many threads there are.
2012-06-29 14:41:35 -05:00
Ralph Lange d6648d4473 libCom/osi: Add some copyrights for ITER 2012-06-29 18:12:07 +02:00
Ralph Lange 8c323b2197 libCom/osi: Add epicsThreadMap (calls user function for each thread) 2012-06-29 17:54:38 +02:00
Ralph Lange 1f5376b30b libCom/osi: Add RTEMS and vxWorks implementation for epicsThreadHooks 2012-06-29 14:49:24 +02:00
Ralph Lange 7e9f048433 Add decorations to epicsThreadHooks.c 2012-06-29 11:22:48 +02:00
Ralph Lange 803777329c Cleanup of epicsThread hooks
- move declarations to epicsThread.h, use epicsThreadId type
- use static elllist initializer for static lists
2012-06-29 11:15:47 +02:00
Ralph Lange 222ea314b0 Add thread hooks to epicsThread that are called when a thread starts or exits
- add Linux implementation that
  + sets the system command name to the EPICS thread name
  + retrieves the Linux LWP ID and prints it instead of the posix thread ID
    in show commands
2012-06-28 18:12:26 +02:00