Commit Graph

16599 Commits

Author SHA1 Message Date
Andrew Johnson 5b7f896312 Merge Dirk's emptyArrayCrashFix branch into 3.15 2020-03-20 13:28:34 -05:00
Andrew Johnson 5009f288ae Generate module version files with new RULES_EXPAND facilities
Also removes the separate *VersionNum.h@ templates
2020-03-20 12:03:14 -05:00
Andrew Johnson 5f1b3a5419 Extend RULES_EXPAND to add more features
* Use EXPAND_COMMON for architecture-independent templates,
  generated in the O.Common directory instead of O.$(T_A).
* Add EXPAND_ME to name Makefile variables to be added without
  having to provide a value (permits spaces in value too).
* Comments in RULES_EXPAND describe how to use these rules.
2020-03-20 11:45:20 -05:00
Andrew Johnson 25bb966cbc Use the dbChannel*() accessor macros in the array filter code
instead of exposing the dbChannel innards unnecessarily.
2020-03-14 16:19:26 -05:00
Andrew Johnson 0f35d0c3f9 Improve epicsEventTest delay checks 2020-03-12 13:59:41 -05:00
Andrew Johnson b4625a0c1f Fix osiSockTest on VxWorks 2020-03-12 13:49:55 -05:00
Andrew Johnson d38ede55c5 More generator doc updates 2020-03-11 22:37:02 -05:00
Andrew Johnson 809fb88fa2 Document <library>_API = <stem> for Makefiles 2020-03-11 21:19:11 -05:00
Andrew Johnson 33c3b1c89a Convert epicsShareAPI to epicsStdCall in modules/ca 2020-03-10 23:42:42 -05:00
Andrew Johnson 017d561b8d Update generator script
Rename xxxSTD_API to epicsStdCall, don't redefine.
Ensure name stem is a legal C identifier.
Update the Pod text
2020-03-10 23:41:15 -05:00
Andrew Johnson eb817ba056 Modify rules to allow multiple API.h libraries to be built 2020-03-10 23:35:03 -05:00
Andrew Johnson 18402f0354 Convert modules/ca to use LIBCA_API instead of epicsShare
Also unified the header exclusion guard names,
removed a couple of files that are no longer used,
dropped the '3.13.7' from the Copyright header.
2020-03-09 23:53:22 -05:00
Michael Davidsaver 02a24a144d Com: fix handling of thread joinable flag and refcnt
The second increment of refcnt must occur before pthread_create
or a subtle possibility of a double free() occurs if the thread
runs immediately and self-joins before the second inc.

Also use atomic ops for joinable flag to ensure that
concurrent joins will error properly.
2020-03-08 22:27:06 -07:00
Andrew Johnson 0cf38bfb29 Try out a representative sample of APIs from multiple libraries 2020-03-07 01:32:36 -06:00
Andrew Johnson 9e7fc1915b Add build rules to generate and install *API.h header files 2020-03-07 01:05:05 -06:00
Andrew Johnson eaee851a2d Add script to generate *API.h headers 2020-03-07 01:05:05 -06:00
Andrew Johnson a9034bb586 Fix clock_gettime issue on newer MinGW builds
Fixes lp: #1853168
2020-03-07 00:40:13 -06:00
Andrew Johnson e13b01208b Bump database version to 3.18.0, use in SHRLIB_VERSION 2020-03-06 23:28:57 -06:00
Andrew Johnson 048689d6db Adjust example code in devSup.h 2020-03-06 23:20:55 -06:00
Andrew Johnson 23cac3c1a8 Set USE_TYPED_DSET centrally now everything uses it 2020-03-06 22:49:58 -06:00
Andrew Johnson 8b9c313941 Update the wording of the Release Notes entry 2020-03-06 22:36:02 -06:00
Andrew Johnson 3871f89dcd Appveyor should 'make -s test-results' as the last thing 2020-03-05 13:23:07 -06:00
Andrew Johnson 227a749105 Properly convert epicsTempFile to old-style C 2020-03-04 21:49:17 -06:00
Martin Konrad f9820577c1 Replace usleep call by nanosleep
Also improve behavior in case signals are delivered to the sleeping
thread. This fixes a potential security weakness reported by codacy
(interaction of usleep with SIGALRM and other timer functions such
as sleep(), alarm(), setitimer(), and nanosleep() is unspecified).
2020-03-04 11:19:02 -05:00
Andrew Johnson fdacb6b92e MSVC <= 11.0 doesn't like 'const int' in C code 2020-03-03 00:53:16 -06:00
Andrew Johnson 5361888997 Have antelope.c include epicsTempFile.c directly 2020-02-29 14:46:13 -06:00
Andrew Johnson cc4d888ae8 Convert epicsTempFile.cpp to .c 2020-02-29 14:42:54 -06:00
Michael Davidsaver e6914f3b80 osdSockUnsentCount.c check for existance of SIO_TCP_INFO 2020-02-20 15:37:18 -05:00
Andrew Johnson 41f1b0ffb5 Fix histogram record allocation bug
Found by Peter Heesterman: Potential use of NULL pcallback pointer.

Nothing looks at the return value from wdogInit(), so don't bother.
2020-02-19 15:09:13 -06:00
Andrew Johnson d82d3d3679 Combine the iocVirgin and iocStopped states into iocVoid 2020-02-18 18:05:46 -06:00
zimoch e48cdb48ac dbGet should not crash when source is an empty array 2020-02-18 17:45:12 +01:00
Freddie Akeroyd 3944b32e04 Add back in optimisation disable 2020-02-17 13:30:15 +00:00
Freddie Akeroyd a0667a122b Excluded x64 tests now need to be excluded on x86 too 2020-02-17 13:29:38 +00:00
Freddie Akeroyd f2b4c412d3 Fix doc typo 2020-02-17 12:49:45 +00:00
Freddie Akeroyd 8250339e0d Update record pod documentation 2020-02-17 12:46:11 +00:00
Freddie Akeroyd 803593560d Remove redundant left logical shift 2020-02-17 12:22:20 +00:00
Freddie Akeroyd bfae080af4 Merge branch '3.15' of git+ssh://git.launchpad.net/epics-base into bit_operations 2020-02-17 11:45:25 +00:00
Michael Davidsaver 6ae3f56560 Merge remote-tracking branch 'lp-konrad/fix-crash-dbloadrecords-after-iocinit' into 3.15
* lp-konrad/fix-crash-dbloadrecords-after-iocinit:
  Fix mingw cross-build
  Use accessor in iocInit
  Fix segfault when calling dbLoadRecords after iocInit
2020-02-14 17:18:01 +00:00
Bryan Robert Tester 4844fbbd82 moved listen into rsrv_grab_tcp to allow retry if failed
Fixes race condition with multiple IOCs starting simultaneously.
2020-02-14 17:10:04 +00:00
Gabriel Fedel 983937a52f Fix event record device support with constant INP
This fix apply to event record device with constant INP.
Now when the event record is proccessed the associated records with the
same SCAN setup get triggered correctly, it is not more necessary to set
VAL on event record.

Fixes lp: #1829770
2020-02-14 17:08:36 +00:00
Gabriel Fedel 90c0f5c48d Fix seq to work correctly on "Specified" mode
On Specified mode is expected that when seq is processed the value from
DOL0 (fixed or links) is set on LNK0, if SELN = 0 (and OFFS = 0).
2020-02-14 15:09:11 +00:00
Gabriel Fedel d82529058a Add a test to record seq in "Specified" mode 2020-02-14 15:09:11 +00:00
Michael Davidsaver 8668cc1267 testTodoEnd() needs to lock
when NULLing
2020-02-14 13:28:44 +00:00
Michael Davidsaver 3465c0c8b0 simmTest imprecise 2020-02-14 13:25:43 +00:00
Michael Davidsaver b5be8b2eaf update PVA 2020-02-14 11:58:17 +00:00
hanlet 97bf9171c6 Added Multicast to caRepeater
Modifications to allow for CA multicast listening by adding multicast address
from EPICS_CA_BEACON_ADDR_LIST (or EPICS_CA_ADDR_LIST if beacon list is empty).
Original modifications from Jim Smedinghoff, with further changes by Pierrick Hanlet.
2020-02-14 11:42:17 +00:00
gabadinho c54237e34a - Record updates:
. histogramRecord
  . eventRecord
  . aaiRecord
  . aaoRecord

- Device support updates:
  . devHistogramSoft (histogramRecord)
  . devEventSoft (eventRecord)
  . devAaiSoft (aaiRecord)
  . devAaoSoft (aaoRecord)

- Fixes in already-migrated records
  . lsiRecord: replaced 'struct lsidset' with typedef(ed) 'lsidset'
  . int64inRecord (similar as above)
  . int64outRecord (similar as above)
  . calcRecord: minor fix in init_record() prototype declaration

- Note: the comments about return values in dset structs were outright copied from .c to .pod/.dbd files without confirmation if they are indeed correct!
2020-02-14 11:07:11 +01:00
Michael Davidsaver bf533ac195 win32 epicsSocketEnableAddressUseForDatagramFanout call spec
apparently epicsShareAPI is required on both declaration and definition.
2020-02-14 09:00:49 +00:00
Michael Davidsaver 6dba2ec1d7 caRepeater /dev/null 2020-02-14 09:00:22 +00:00
Michael Davidsaver 819b0de65b epicsTimerTest testImpreciseTiming() 2020-02-14 09:00:17 +00:00