Commit Graph

54 Commits

Author SHA1 Message Date
Michael Davidsaver 0f8876de67 Merge branch '3.15' into 7.0
* 3.15: (28 commits)
  update RELEASE_NOTES
  add option EPICS_NO_CALLBACK
  replace CALLBACK -> epicsCallback
  Update dbTest.c
  Remove links to wiki-ext
  Add POD annotations from Wiki to subArrayRecord and menuAlarmStat
  Rename subArrayRecord.dbd and menuAlarmStat.dbd to .pod
  Add POD annotations to longoutRecord from Wiki
  Rename longoutRecord.dbd longoutRecord.dbd.pod
  Add POD annotations to longinRecord from Wiki
  Rename longinRecord.dbd longinRecord.dbd.pod
  Add POD annotations to subRecord from Wiki
  Rename subRecord.dbd subRecord.dbd.pod
  Add POD annotations to selRecord from Wiki
  Rename selRecord.dbd selRecord.dbd.pod
  Add POD annotations to seqRecord from Wiki
  Rename seqRecord.dbd seqRecord.dbd.pod
  Fix menu declaration test too
  Add redefinition guard to menu-generated typedefs
  Updates to existing .dbd.pod texts, add event and fanout from wiki
  ...

# Conflicts:
#	documentation/README.1st
#	documentation/README.html
#	modules/database/src/ioc/db/callback.h
#	modules/database/src/ioc/db/dbNotify.c
#	modules/database/src/ioc/db/menuAlarmStat.dbd
#	modules/database/src/ioc/db/menuFtype.dbd
#	modules/database/src/std/rec/compressRecord.dbd.pod
#	modules/database/src/std/rec/eventRecord.dbd
#	modules/database/src/std/rec/fanoutRecord.dbd
#	modules/database/src/std/rec/longinRecord.dbd
#	modules/database/src/std/rec/longoutRecord.dbd
#	modules/database/src/std/rec/selRecord.dbd
#	modules/database/src/std/rec/seqRecord.dbd
#	modules/database/src/std/rec/subArrayRecord.dbd
#	modules/database/src/std/rec/subRecord.dbd
#	modules/libcom/src/iocsh/menuAlarmStat.dbd.pod
#	modules/libcom/src/iocsh/menuFtype.dbd.pod
#	src/ioc/db/menuAlarmStat.dbd
#	src/ioc/db/menuFtype.dbd

Manually fix some move+rename
Make additional CALLBACK -> epicsCallback
preserve INT64 in menuFtype
preserve OLDSIM et al
2019-09-09 19:29:58 -07:00
Michael Davidsaver 937379892a epicsMutex automatically capture file+line with gcc >=4.8
gcc >=4.8 allows __builtin_FILE() to expand at the call
site when used given as the default for a c++ function
argument.
2019-09-05 19:30:43 -07: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
Andrew Johnson b2938459f8 Define pdevLibVME on non-VME RTEMS targets 2019-08-28 15:28:08 -05:00
Andrew Johnson 59cffd51ae Merge 3.15 branch into 7.0 2019-07-25 18:10:40 -05: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 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 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
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 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
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 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
Michael Davidsaver d989c8fade libCom: joinable threads (posix only)
Add epicsThreadJoin() and epicsThreadOpts::joinable.
For compatibility, default threads aren't joinable
by default.

Currently only POSIX can join.
2018-11-04 20:06:18 -08:00
Michael Davidsaver ca800fa57d libCom: add epicsThreadCreateOpt()
Variant of epicsThreadCreate() which accepts optional
arguments via a structure to allow for compatible
addition of new arguments.
2018-11-04 20:06:18 -08:00
Michael Davidsaver ebe7cf046e libCom: iocshRegisterVariable() only warn on actual redefinition
Avoid noise if simply called twice.
2018-11-04 19:32:48 -08:00
Andrew Johnson f0bbae1767 Merge Dirk's FixShellCommands branch into 7.0 2018-10-30 09:51:02 -05:00
Michael Davidsaver 78b6312f49 fix mingw build 2018-10-28 19:03:42 -07:00
Andrew Johnson 2efe56c6d1 Merge 3.16 (after 3.16.2-rc1) into 7.0 2018-10-26 17:04:53 -05:00
zimoch 4190f38db0 add macro IOCSH_STATIC_FUNC to avoid '#ifdef vxWorks' in code 2018-10-23 17:51:46 +02:00
zimoch 9b328a0ca4 Removed usage messages from epicsEnvSet except for vxWorks but kept the check for NULL. For vxWorks removed the () from usage message. 2018-09-28 11:38:29 +02:00