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