Commit Graph

340 Commits

Author SHA1 Message Date
zimoch 3c4ffbf267 elimitate duplicate code in logClient 2019-09-02 17:47:42 +02:00
zimoch 4942da0c88 do not discard unsent messages when log server has closed connection, instead try to send them after reconnect 2019-09-02 17:47:42 +02:00
zimoch 5f547257ac speed up logRestart thread termination at exit 2019-09-02 17:47:42 +02:00
zimoch 1b99366887 don't send errlog on all logClients 2019-09-02 17:47:42 +02:00
Michael Davidsaver c0a04eae21 Merge remote-tracking branch 'lp-asLib/as-hostname' into 7.0
* lp-asLib/as-hostname:
  update release notes
  asLib more string size...
  asLib one short
  asLib: asUseIP name lookup soft-fail
  Expand Release Note entry for as-hostname changes.
  as-hostname address review comments
  asLib: test asUseIP
  as,rsrv: use real client IP instead of untrusted host name

# Conflicts:
#	documentation/RELEASE_NOTES.html
2019-08-31 15:07:22 -07:00
Michael Davidsaver 75477b5e9c Merge remote-tracking branch 'origin/3.15' into 7.0
* origin/3.15: (40 commits)
  Revert "More msi.plt retries for Jenkins builds on Windows"
  Revert "Testing msi: Add retries if necessary"
  msi: Flush stdout on program exit
  Now fix the non-windows systems
  Don't use / in Windows program paths
  Redirect msi's STDERR to /dev/null (NUL on Windows) during tests
  VxWorks: Mark undetected underflow parse test as ToDo
  Fix VxWorks osiSockOptMcastLoop_t => char
  Fix sync filter example in dbd.pod
  doc/ca: clarify variable size array subscription
  Remove cacExitHandler
  Don't clear caClientCallbackThreadId in CA's exit handler
  appveyor-ci: ANL Make install 4.1 -> 4.2.1
  appveyor-ci: use pre-installed AppVeyor MinGW
  appveyor-ci: use choco MinGW 5.3.0 to work around build problem (fixes lp:1827225)
  appveyor-ci: exclude some cygwin builds (broken compiler) appveyor-ci: remove slack, add email and GitHub notifications (cherry-picked from branch 7.0)
  epicsTime: rely on implicit copy constructor
  iocLogServer: check return values
  Fix potential buffer overflow in iocLogServer
  Fix weird use of strncpy
  ...

# Conflicts:
#	modules/database/src/ioc/dbtemplate/msi.c
#	modules/database/src/std/rec/stringinRecord.c
#	modules/database/src/std/rec/stringoutRecord.c
#	modules/database/test/ioc/dbtemplate/msi.plt
#	modules/libcom/src/osi/os/vxWorks/osdSock.h
#	src/ioc/dbtemplate/msi.c
#	src/ioc/dbtemplate/msi.cpp
2019-08-31 15:05:37 -07:00
zimoch 2b0161d9bf no need to delay startup only because log server is currently not available 2019-08-30 08:57:08 +02:00
zimoch 9df98c1838 send pending log messages directly after connecting 2019-08-30 08:57:08 +02:00
zimoch 59aa9cfe74 avoid needless memmove calls 2019-08-30 08:57:08 +02:00
zimoch 709208ef5c elimitate duplicate code in logClient 2019-08-30 08:57:08 +02:00
zimoch 0a3427c835 do not discard unsent messages when log server has closed connection, instead try to send them after reconnect 2019-08-30 08:57:08 +02:00
zimoch 2432878773 speed up logRestart thread termination at exit 2019-08-30 08:57:08 +02:00
zimoch 62c3b0a585 don't send errlog on all logClients 2019-08-30 08:57:08 +02:00
Andrew Johnson b2938459f8 Define pdevLibVME on non-VME RTEMS targets 2019-08-28 15:28:08 -05:00
Michael Davidsaver c63a564ad4 doc 2019-08-26 09:57:15 -07:00
Michael Davidsaver 7ba103d997 deprecate iocshFindCommand()
This function, and struct iocshFuncDef, expose
internal details.  Specifically iocshCmdDef::func .
Which prevents changing/extending the iocsh function
signature.

Deprecate in favor of iocshCmd() and iocshRun().
2019-08-26 09:57:15 -07:00
Michael Davidsaver 2557d14785 iocshCmd() imply "on error break" 2019-08-25 20:10:27 -07:00
Michael Davidsaver 58473e825c iocsh more error handling
sooo many ways to fail...
2019-08-25 16:29:55 -07:00
Michael Davidsaver a625acbb18 iocsh handle redirect and similar early errors 2019-08-24 20:30:47 -07:00
Andrew Johnson 2fb41d7a36 VxWorks: Measure CPU time-base frequency if necessary
The BSP routine sysTimeBaseFreq() is optional. If not present or
non-functional we measure the frequency of the CPU's time-base
counter (against the OS system clock) once at initialization-time.
2019-08-23 15:54:32 -05:00
zimoch 53dd61b80a merged with R7.0.3 2019-08-09 11:31:43 +02:00
Andrew Johnson 59cffd51ae Merge 3.15 branch into 7.0 2019-07-25 18:10:40 -05:00
zimoch 5b754d320f fix posix epicsThreadSleepQuantum() implementation not to return 0.01 on Linux 2019-07-24 14:17:25 +02:00
zimoch 2b157096e6 merge branch '7.0' into 'PSI-7.0' 2019-07-22 15:44:08 +02:00
zimoch 71eaddfd84 Merge branch 'refs/heads/PSI-7.0.1' into PSI-7.0 2019-07-22 15:36:33 +02:00
Michael Davidsaver c70b1a9a29 libcom: detect uclibc support for backtrace() 2019-07-06 13:43:58 -07:00
Andrew Johnson 99be9a86a0 Rework EPICS_THREAD_CAN_JOIN
RTEMS osdThread.h was missing an extern "C" wrapper.
2019-07-02 17:31:37 -05:00
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
zimoch 251304e280 use dynamic binding of vxWorks BSP functions because some BSPs don't provide them 2019-05-13 09:43:44 +02:00
zimoch 0bb80e373b add simple calculations to macros 2019-05-10 14:44:17 +02:00