Andrew Johnson
fbf62189cb
Replace epicsThreadOptsDefaults() with EPICS_THREAD_OPTS_INIT
...
The epicsThreadCreate() routines now interpose calls to
epicsThreadGetStackSize() if an enum value is passed.
2019-07-02 17:27:27 -05:00
Andrew Johnson
ff1462fcc7
Working VxWorks implementation of epicsThreadMustJoin()
2019-06-28 12:28:41 -05:00
Michael Davidsaver
5b09bb6e71
Set file+line for epicsMutex
...
Makes the output of epicsMutexShowAll more useful wrt. libca.
2019-06-26 09:40:41 -07:00
Michael Davidsaver
ede52d96b8
posix show mapping of epicsMutexId and uaddr passed to futex()
...
On Linux w/ GLIBC+NTPL useful to establish mapping between
args to futux syscall and epicsMutexId (and file+line of creation).
2019-06-26 09:40:41 -07:00
Michael Davidsaver
6ce8dfec01
libCom: timerQueueActive atomic exitFlag
...
quiet false positive data race
2019-06-26 09:38:48 -07:00
Michael Davidsaver
c1ab30142a
sysconf /0 paranoia
...
Seems unlikely, but avoid any possibility to divide by zero.
2019-06-26 08:59:35 -07:00
Michael Davidsaver
a81e261e23
iocsh trap arg. parsing errors
2019-06-23 19:43:34 -07:00
Michael Davidsaver
14440b2d9d
more RTEMS join
2019-06-23 19:28:03 -07:00
Michael Davidsaver
38999a971f
document epicsThread.h
2019-06-23 19:06:23 -07:00
Michael Davidsaver
32b3eddb94
epicsThreadMustJoin() warn only on double self-join
2019-06-23 19:06:22 -07:00
Michael Davidsaver
9e5c63fb91
epicsThreadMustJoin() clear joinable flag
...
Clear so that repeated calls will error correctly.
Only well defined for self join.
2019-06-23 07:53:23 -07:00
Michael Davidsaver
5efce9ecc0
epicsThreadJoin() -> epicsThreadMustJoin()
2019-06-23 07:30:48 -07:00
Andrew Johnson
e8db975e7f
Initial implementation for VxWorks 6.9 and later
...
This almost seems too simple...
2019-06-17 14:33:28 -05:00
Michael Davidsaver
048975ccc7
asLib more string size...
2019-06-05 16:33:55 +02:00
Michael Davidsaver
a83a85af7c
asLib one short
2019-06-04 16:06:07 +02:00
Michael Davidsaver
932e9f3b21
asLib: asUseIP name lookup soft-fail
2019-06-04 15:56:51 +02:00
Michael Davidsaver
72985505ef
further no need to search for perl modules under bin
2019-06-04 11:24:35 +02:00
Michael Davidsaver
52b9c8b947
iocsh further on error
...
Split Scope into iocshContext and iocshScope
to separate per-thread and per-call state.
Error handling is per-call.
2019-05-27 21:24:58 -07:00
Bruce Hill
76506991da
Fixed logic errors and added some prompts.
2019-05-27 20:12:48 -07:00
Michael Davidsaver
655c5bed92
osiClockTime Darwin doesn't use.
...
Darwin/osdTime.cpp unconditionally provides osdTimeGetCurrent()
and never calls ClockTime_Init().
2019-05-20 15:32:57 -07:00
Michael Davidsaver
2c99c36ef9
Merge remote-tracking branch 'lp-Com/timeopt' into 7.0
...
* lp-Com/timeopt:
!gtMoreThanDefault -> useOsdGetCurrent
generalTime short circuit current time
2019-05-20 13:49:10 -07:00
251304e280
use dynamic binding of vxWorks BSP functions because some BSPs don't provide them
2019-05-13 09:43:44 +02:00
Michael Davidsaver
bf8ff4e5f1
!gtMoreThanDefault -> useOsdGetCurrent
2019-05-08 19:05:58 -07:00
Michael Davidsaver
73cdea5517
as-hostname address review comments
2019-05-08 19:03:25 -07:00
Michael Davidsaver
4d5a677239
use iocshSetError()
2019-05-02 20:38:45 -07:00
Michael Davidsaver
eba8a13a2c
iocsh allow setting of error code
2019-05-02 20:38:45 -07:00
Michael Davidsaver
89c269e2d5
iocsh control error behavior
2019-05-02 20:38:45 -07:00
Michael Davidsaver
2e80a97da9
iocsh catch exceptions
2019-05-02 20:29:13 -07:00
Michael Davidsaver
597393a8ee
libCom: drop CLOCK_MONOTONIC_RAW
...
Turns out this is ~10x slower to query than CLOCK_MONOTONIC
2019-03-28 09:59:24 -07:00
Michael Davidsaver
a2123db9fb
Merge branch 'fix_1816841_only' into 7.0
...
* fix_1816841_only:
Another hack to deal with RTEMS which is POSIX but still different
stripped-down fix for 1816841 only
2019-03-17 18:43:34 -07:00
till straumann
511a541f31
stripped-down fix for 1816841 only
2019-03-14 10:36:55 -07:00
Michael Davidsaver
d1149a0ba9
iocsh epicsMutexShowAll accepts 2 arguments
2019-03-11 17:53:51 -07:00
Michael Davidsaver
95cb81c286
generalTime short circuit current time
...
epicsTimeGetCurrent() is called frequently.
Unless more than the default provider is registered,
locking and going through the timeProvider list each
time is a waste.
Instead, short circuit to directly call the default
time current time provider unless a another has
been registered.
2019-03-10 16:36:54 -07:00
Michael Davidsaver
d38fcd5247
no need to search for perl modules under bin/
2019-01-03 20:18:16 -08:00
Michael Davidsaver
d7841f407a
drop unnecessary *ModuleDirs
2019-01-03 20:18:11 -08:00
Michael Davidsaver
49b323b93c
avoided embedded TOP for non sub-modules
2019-01-03 20:17:58 -08:00
Michael Davidsaver
4f2228fb1d
replace most internal getCurrent() -> getMonotonic()
...
every place where a time delta is computed, and then some.
2019-01-03 19:34:47 -08:00
Michael Davidsaver
5087c4cb2f
monotonic adapt to regular time APIs
2019-01-03 19:34:35 -08:00
Andrew Johnson
8481ae3787
Set embedded modules' SHRLIB_VERSION from CONFIG variables
2018-12-17 17:19:10 -06:00
Andrew Johnson
58aa30ab0a
Merge 3.15 branch into 7.0
...
First direct merge since 3.16 branch closed.
2018-12-14 17:05:59 -06:00
Andrew Johnson
6d5f57daf1
Merge 3.16 branch into 7.0
2018-12-12 15:17:02 -06:00
Michael Davidsaver
84831e13e7
epicsGetExecName WIN32, Darwin, solaris, freebsd
2018-11-20 22:00:42 -08:00
Michael Davidsaver
32340584b4
epicsGetExecDir() paths relative to executable
...
For linux, enable softIoc to find .dbd relative to the executable
location.
The same could be done for other targets
*bsd
may have symlink /proc/curproc/file
fallback to sysctl() with KERN_PROC_PATHNAME
solaris
getexecname()
mac
_NSGetExecutablePath()
WIN32
GetModuleFileName(NULL)
others
out of luck...
2018-11-20 22:00:42 -08:00
Michael Davidsaver
530eba133f
as,rsrv: use real client IP instead of untrusted host name
2018-11-14 20:03:55 -08:00
Michael Davidsaver
bb19bd519e
asLib add asInitMem()
2018-11-14 19:46:54 -08:00
Michael Davidsaver
3c2fe264cd
epicsThreadRealtimeLock: clarify errors
...
give some more descriptive, linux specific, error messages
2018-11-14 09:55:19 -08:00
Michael Davidsaver
f9092783f8
RTEMS thread join
2018-11-04 20:06:18 -08:00
Michael Davidsaver
149ab1186a
epicsThread fix join
2018-11-04 20:06:18 -08:00
Michael Davidsaver
460e58e3e5
libCom "join" win32 threads
...
Wait for completion
2018-11-04 20:06:18 -08:00
Michael Davidsaver
c9dcab95a6
class epicsThread is joinable
2018-11-04 20:06:18 -08:00