Commit Graph

3256 Commits

Author SHA1 Message Date
Keenan Lang bd3a030da8 remove unneeded forward declaration 2014-09-19 13:24:15 -05:00
Keenan Lang 688e821f3a remove macEnvExpandTest from epicsRunLibComTests.c 2014-09-19 13:21:43 -05:00
Keenan Lang 79cb473b6a tests all pass now. 2014-09-17 17:22:04 -05:00
Keenan Lang 73b09f4976 Adding scoping test, combining some aspects of macEnvTest to allow removal of that test. 2014-09-16 13:55:40 -05:00
Keenan Lang 4cd8a41ce5 Updated macDefExpandTest to keep from dereferencing NULL 2014-09-15 16:59:11 -05:00
Keenan Lang 6d4e284ab1 Added note to fixme comment to state that a function is relying on its current setup. 2014-09-02 17:21:42 -05:00
Keenan Lang 85936ff34c Darwin's osdEnv.c was updated while I was working on this, changed my updated version to match. 2014-09-02 16:55:32 -05:00
Keenan Lang ee197893e7 removing some extra whitespace to cleanup the diff 2014-09-02 16:44:47 -05:00
Keenan Lang 64a98452e3 epicsEnvSet clears macros before setting environment variable to ensure intuitive use of the function in nested iocsh calls. While adding this functionality, fixed a latent bug in macPutValue where if you tried to NULL a macro with the same name as an environment variable, you would go into an infinite loop. 2014-09-02 16:35:32 -05:00
Keenan Lang 9d0be21cc1 MAC_HANDLE's in iocshBody weren't being created with environment variables. 2014-08-27 13:31:16 -05:00
Keenan Lang b2c2d9b7d6 Tests changed to accomodate macDefExpand's different args 2014-08-27 13:17:15 -05:00
Keenan Lang 4497e8d5f4 Updated macLibREADME 2014-08-27 11:41:27 -05:00
Keenan Lang 2d3db2036b Updated iocshBody to keep track of macro context to allow scoping of macro variables from iocshRun/Load 2014-08-27 11:33:14 -05:00
Keenan Lang 00bb3d1e67 iocshLoad now works as iocsh with no parameters 2014-08-22 14:25:41 -05:00
Keenan Lang 1ad6ff03b3 Changed iocshLoadFile to iocshLoad and added iocshRun as the macro version of iocshCmd 2014-08-22 11:50:24 -05:00
Keenan Lang 4f1f7dd83b Updated macLib documentation 2014-08-21 17:13:00 -05:00
Keenan Lang 8750ff8807 macDefExpand test file 2014-08-21 16:55:26 -05:00
Keenan Lang 28a01eb572 Added macDefExpand tests to libCom Test Harness 2014-08-21 16:54:39 -05:00
Keenan Lang dfe6515809 offset by a space 2014-08-21 16:12:11 -05:00
Keenan Lang 76bd45cb45 Reverted calls that didn't need to use macDefExpand to single parameter 2014-08-21 16:09:21 -05:00
Keenan Lang 6d3b70251c Returned macEnvExpand to original parameters, added macDefExpand 2014-08-21 16:05:55 -05:00
Keenan Lang 6d38cc1f76 Returned iocshCmd to it's original function signature, added iocshLoadFile instead 2014-08-21 15:19:50 -05:00
Keenan Lang 6ebbf0dd8c Whitespace changes snuck in due to editor 2014-08-20 16:58:50 -05:00
Keenan Lang 0cb495bdb3 Sidestepping testing in macEnvExpandTest 2014-08-19 16:44:15 -05:00
Keenan Lang 69c7f0b065 Changing macEnvExpand to accomodate macro definitions 2014-08-19 16:40:51 -05:00
Keenan Lang ab94bb46f2 Changing iocshCmd to idealized syntax 2014-08-19 16:34:41 -05:00
Andrew Johnson 5e0bf53fec epicsTypes.h: Don't use C99 types
The __STDC_VERSION__ >= 199901L test never succeeds
in C++, and there were issues with the epicsInt8
definition anyway (int8_t is signed, but char might
not be).

I also removed the epicsBoolean enum which we never use.
2014-08-15 12:24:31 -05:00
Andrew Johnson 547a9b3ebc Tweak some dependency rules for correctness 2014-08-05 14:03:37 -05:00
Andrew Johnson aedea0da37 default/osdSpin.c add missing #include "cantProceed.h"
Also adjusted some error messages for common style.
2014-08-02 23:15:43 -05:00
Andrew Johnson 6767f5089f threadPool: Replaced errno.h status values with S_pool_* ones
ETIMEDOUT is not provided on MinGW.
2014-08-01 17:55:53 -05:00
Andrew Johnson ab78480d54 Merged spinlockfix branch.
Some last-minute fixes for VxWorks build warnings.
2014-07-31 12:45:40 -05:00
Andrew Johnson 68bcc77885 Merged alarm-strings branch. 2014-07-31 10:17:24 -05:00
Andrew Johnson b3afbea7cf Merged Michael's thread-pool branch.
Made various formatting changes, and fixed one problem in the
test program which failed a test on UP machines.
2014-07-29 16:05:24 -05:00
Michael Davidsaver 716f2679a7 thread pool: don't use reserved names
Avoid global symbols with leading underscore
2014-07-29 12:21:07 -04:00
Michael Davidsaver b1a8b2f20e thread pool: switch thread counts to unsigned int
size_t is considered overly optimistic
2014-07-29 12:18:19 -04:00
Michael Davidsaver 6fee83900e don't include errCommon.h
doesn't exist anymore
2014-07-29 12:06:24 -04:00
Michael Davidsaver c4a1208d6e epicsSpinTest: add to libCom test harness 2014-07-25 18:17:27 -04:00
Michael Davidsaver 9cb65e5408 epicsSpinTest: plug some leaks 2014-07-25 18:17:02 -04:00
Andrew Johnson 2a9d05248f Fix epicsSpinTest.c spinThread tests
Runs many more rounds, without blocking with the lock held.
2014-07-25 16:21:03 -05:00
Andrew Johnson 752549d1c8 Fix epicsAtomic headers when used from C code
Several C++ and C99-isms crept in.
2014-07-25 15:05:58 -05:00
Michael Davidsaver 8fec9d6e00 epicsSpin: try lock return non-blocking
Avoid cantProceed() in try lock, even for undefined behavior.
2014-07-25 15:12:02 -04:00
Michael Davidsaver 5824f98972 epicsSpinTest: fix verifyTryLock()
avoid sleeping with a spinlock held.
Now test only works on SMP systems.
2014-07-25 15:11:54 -04:00
Michael Davidsaver 95b916ecd4 thread pool: mark epicsJobCreate() as safe for job functions
Also, use epicsJobMove() to avoid some redundant code
2014-07-25 10:16:20 -04:00
Michael Davidsaver cbfbce54f9 thread pool: epicsThreadPoolWait return ETIMEOUT 2014-07-25 09:59:46 -04:00
Michael Davidsaver b3a1fe9c6b thread pool: fix return of epicsJobUnqueue()
Return 0 on success (was queued, now is not),
1 if not queued initially, and EINVAL
if orphaned.
2014-07-24 18:56:27 -04:00
Michael Davidsaver 83dfc7980d thread pool: handle failure to create worker
epicsJobQueue() returns EAGAIN when the first worker
can't be lazily created.

Failure to create workers beyond the first is
silently ignored.
2014-07-24 18:50:19 -04:00
Michael Davidsaver 69d1063067 thread pool: epicsJobQueue return EPERM
When pool control prevents operation
2014-07-24 18:19:33 -04:00
Andrew Johnson 9b6e270b97 Final spinlock tidying-up
* Abort epicsSpinTest() if epicsSpinCreate() returns NULL
* Adjust RELEASE_NOTES that describe the implementations.
2014-07-24 16:33:35 -05:00
Michael Davidsaver fc4119094f thread pool: epicsThreadPoolGetShared accepts NULL as defaults 2014-07-24 14:44:28 -04:00
Michael Davidsaver 01a50b5165 thread pool test 2014-07-24 14:22:52 -04:00