Commit Graph

85 Commits

Author SHA1 Message Date
Michael Davidsaver
066984e11d Merge branch 'master' into link
* master: (226 commits)
  ioc/db: testdbGetFieldEqual() detect zero size
  Cleanup in asLib
  Allow whitespace before comments in AS config files
  Supress MS warning C4251
  Add a plan to std/filters/test/syncTest.c
  Fix dbUnitTest.c
  avoid void* +=
  Fix and test for macLib losing error status
  update notes
  libCom/test: ipAddrToAsciiTest skip cleanup unless valgrind is possible
  libCom/test: add ipAddrToAsciiTest to testHarness
  db/test: dbPutGetTest check dbGet() of long string field
  db: dbGet() ensure long string nil and actual string length
  db/test: dbPutGetTest check for dbGet() attribute crash
  db: fix dbGet() for attributes as long string
  db/test: dbPutGetTest add test for lp:1678494
  db: fix dbGet() of link fields as DBF_CHAR
  dbUnitTest: add testdbGetArrFieldEqual()
  db/test: add dbPutGetTest
  Update release notes as per Michael's review comment
  ...

Conflicts:
	src/ioc/db/dbLink.c
	src/ioc/db/test/Makefile
	src/std/dev/devSoSoftCallback.c
	src/std/rec/boRecord.c
	src/std/rec/dfanoutRecord.c
	src/std/rec/longinRecord.c
	src/std/rec/longoutRecord.c
2017-04-21 17:20:12 -04:00
Ralph Lange
2f510af603 Use (typed) rset instead of (untyped) struct rset inside Base 2017-03-30 14:35:24 +02:00
Andrew Johnson
e95fcb2e06 Merged changes from 3.15 branch, to revno 12807 2017-02-01 11:57:04 -06:00
Ralph Lange
a32faa573c ioc/misc: add dbRecordsAbcSorted to dbCore.dbd 2016-10-07 11:56:06 +02:00
Andrew Johnson
813166128e Merged changes from 3.15 branch, to revno 12781 2016-09-07 10:04:54 -05:00
Andrew Johnson
25315882ec Clean up JSON_LINKs in doCloseLinks 2016-09-03 22:22:12 -05:00
Andrew Johnson
4686a062c8 Merged generalTime update from 3.14 branch, revno 12659 2016-09-02 12:47:23 -05:00
Andrew Johnson
3992d4b92a Split dbJLinkInit, JLinks are now parsed at load-time 2016-09-01 00:56:26 -05:00
Andrew Johnson
7edc0c67ca JSON Links implementation
The lnkConst.c implementation is not yet complete, no support for arrays of
strings (JMOP).

Link error messages should display their record & field name, which is not yet
possible.

The ability to embed links as parameters to other link types is not complete
yet; this will be required for the calc link type.

This code currently passes all existing tests, but additional tests are needed
for the new functionality.
2016-08-29 01:12:09 -05:00
Andrew Johnson
bb58598eba A cleaner way to close CA & DB links 2016-08-12 23:20:24 -05:00
Michael Davidsaver
899feb24b2 iocInit: close CA_LINKs through lset 2016-08-12 19:50:17 -04:00
Andrew Johnson
b9f0ef5158 Merge 3.14 version and add 3.15 edits 2016-05-22 14:38:18 +02:00
Andrew Johnson
496414c88c Fix for VxWorks 5.5 compiler 2016-04-28 23:28:39 -05:00
Andrew Johnson
5a605fa0c3 Set various EPICS_VERSION_* environment variables
These are set at the same time as the ARCH variable.
Had to add EPICS_VERSION_SHORT and EPICS_VERSION_FULL to epicsVersion.h.

This uses more uniform names, should we change epicsVersion.h names?
We would continue to support the old names in parallel for some time.
2016-04-28 18:58:07 -05:00
Andrew Johnson
0e5dc2a21c More build parameters.
Renamed EPICS_TARGET_ARCH to EPICS_BUILD_TARGET_ARCH
Added EPICS_BUILD_OS_CLASS and EPICS_BUILD_COMPILER_CLASS
2016-04-28 18:56:03 -05:00
Andrew Johnson
230603f4ac Remove ARCH from cdCommands and envPaths files
Set it in iocshRegisterCommon() instead.
Remove ARCH from iocBoot/ioc/Makefile@Common templates.
2016-04-28 18:50:41 -05:00
Michael Davidsaver
45db78981c iocInit: no need to break DB_LINK when isolated
This is being done to free the link private struct,
but dbDbRemoveLink() is not used to avoid the overhead
of splitting every lockset just before the PDB
is free'd.

No reason to do this for non-isolated until scans threads
are stopped.
2016-03-20 09:43:40 -04:00
Michael Davidsaver
7d94d05bb7 iocInit: special clear link set in doCloseLinks() 2016-03-19 17:15:08 -04:00
Andrew Johnson
0f6f833e91 Merged link-support branch 2016-02-29 13:48:18 -06:00
Andrew Johnson
f0c56bcbba Merged 3.15 changes, to revno 12731 2016-02-26 18:16:26 -06:00
Andrew Johnson
e18eca80db Changes from patch in lp:1539791 2016-02-23 15:43:26 -06:00
Andrew Johnson
43cf5af621 dbQuietMacroWarnings control 2016-01-26 12:28:00 -06:00
Andrew Johnson
405f50533e Fix for linux-x86 2015-09-10 09:56:50 -05:00
Andrew Johnson
66e126bae8 Merged Micheal's lockopt branch 2015-09-06 23:15:21 -05:00
Michael Davidsaver
d890c80961 dbLock: restore initialization of PV_LINK
PV_LINK -> DB_LINK must happen in doResolveLinks after add_record
2015-08-20 15:52:30 -04:00
Michael Davidsaver
d5832354e8 iocInit: Don't free LSET until scan tasks have stopped 2015-08-18 11:09:35 -04:00
Michael Davidsaver
f99fbe1964 move dbCaShutdown earlier
shutdown dbCa thread before free'ing records
2015-08-18 09:07:18 -04:00
Andrew Johnson
f1b403b59a Merged calinktest branch 2015-07-28 14:22:06 -05:00
Andrew Johnson
4d3831ce58 Merged changes from 3.15 branch to revno 12699 2015-07-24 12:01:53 -05:00
Andrew Johnson
1d99ad6cfc Move closer to having pluggable link types.
All link types now have a plink->precord pointer.
Add link support entry tables for const, DB and CA link types.
Route all link I/O options through the new plink->lset.
2015-07-22 14:56:48 -05:00
Andrew Johnson
bd4d8ec26b Merged lockopt branch 2015-08-21 22:44:11 -05:00
Michael Davidsaver
504665bf09 iocInit: move dbCaShutdown earlier
Switch dbCaShutdown from an exit hook to
be called from iocShutdown.  Place it
after callback shutdown.
2015-07-21 19:08:07 -04:00
Andrew Johnson
a5e1f367d6 Merged cbshutdown changes from 3.15 branch, revno 12690 2015-07-16 11:54:40 -05:00
Michael Davidsaver
fefe6fd1fc Fix shutdown issues with scan and callback.
The main reason for this merge proposal is the change to "public" API functions.

Use atomic counter to resolve data race on threadsRunning in callback.

Split up callbackShutdown() and scanShutdown() into two phases *Stop() and
*Cleanup(). The *Stop() functions signal worker threads, and wait for them to
exit. The *Cleanup() functions actually reclaim global resources.

These two mechanisms have couplings which are quite complex. I/O Intr scans
involve both scan lists and callbacks.
2015-07-16 11:48:29 -05:00
Michael Davidsaver
eb31fcedeb iocInit: dbCa shutdown order 2015-07-13 17:51:46 -04:00
Michael Davidsaver
fa4678798c iocInit: remove no-op
The work which was done here is moved to dbCloseLinks()
2015-03-24 14:18:11 -04:00
Michael Davidsaver
ee297dc558 dbLock: use new backref tracking 2015-03-24 14:18:11 -04:00
Michael Davidsaver
b8a7da18d2 iocInit: links now initialized in dbLockInitRecords() 2015-03-24 14:18:11 -04:00
Michael Davidsaver
adcde46e9e populate RDES early 2015-03-24 14:12:00 -04:00
Michael Davidsaver
3a647fb38b iocInit: prepareLinks after autosave pass0
Allow autosave to restore link fields again...
2015-03-17 19:13:33 -04:00
Michael Davidsaver
77efc973da iocInit: free PPNR 2015-03-13 15:24:07 -04:00
Michael Davidsaver
3e8ba7d7cf dbCa: enable unittests 2015-03-13 15:24:07 -04:00
Andrew Johnson
a7ad9a1256 Merged Michael's link-parsing branch 2015-02-03 00:38:23 -06:00
Michael Davidsaver
93149071b7 dbNotify: shutdown with exitDatabase
Can't cleanup dbNotify while rsrv or scan tasks
are running as there may be operations in progress.
2014-11-18 11:25:15 -05:00
Michael Davidsaver
9c2a62ea96 dbChannel: shutdown from exitDatabase()
Can't cleanup dbChannel while rsrv or scan tasks
remain running.
2014-11-18 11:25:15 -05:00
Michael Davidsaver
d35780888a iocInit: only teardown from iocBuildIsolated()
iocShutdown() should only stop threads and cleanup
if the IOC was started with iocBuildIsolated().
If iocBuild() is used then only close CA links
as was done previously.

This is needed as some device support calls epicsExit()
(while holding a record lock).  This make it impossible
to run the full iocShutdown without deadlocking
in scan/callback shutdown, or segfaulting
in doFreeRecord() or dbLockCleanupRecords()
2014-11-13 11:58:35 -05:00
Andrew Johnson
b74eb61949 Merged dbca-test branch 2014-10-06 18:04:33 -05:00
Andrew Johnson
9cebc2993b Fix epicsExportSharedSymbols for MinGW build
Include files now in sorted order within each block.
2014-10-06 00:57:02 -05:00
Andrew Johnson
70feb515c3 Merged parallel-cbthreads-3 branch 2014-10-02 15:07:07 -05:00
Andrew Johnson
27a8818ea8 Silence unused variable warning 2014-09-29 12:35:22 -05:00