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 and Andrew Johnson
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
Ralph Lange
ca8eda8090
Merge (cherry-pick) original parts from parallel-cbthreads branch
2014-08-25 13:40:18 -07:00
Michael Davidsaver
33804bd7ea
iocInit: initialize links in iocBuild
...
Done before any driver, record, or device supports run.
Also before the hooks used by autosave.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
8c60e7e2cb
track INP/OUT field in struct dbFldDes
...
avoid string comparisons
2014-08-01 11:28:10 -04:00
Michael Davidsaver
40838579af
iocShutdown: cleanup links
2014-07-31 16:22:01 -04:00
Michael Davidsaver
9f53417a8d
add dbCaLinkInitIsolated()
...
Initialize dbCa workList lock so that CA_LINK
creation in test code doesn't crash.
Once created links will never connect.
clean up workList for unittest when dbCaShutdown
is called state is already exit.
2014-07-31 16:22:01 -04:00
Michael Davidsaver
9d03275c53
iocInit: ensure dbLock cleanup after iocShutdown cleanup
...
by making dbLock init before initDatabase()
2014-07-25 13:49:55 -04:00
Michael Davidsaver
f85c3249ab
dbUnitTest: rename
2014-07-10 18:23:49 -04:00
Michael Davidsaver and Michael Davidsaver
a9d4204d43
dbLock: free LSET
2014-06-23 16:28:28 -04:00
Michael Davidsaver and Michael Davidsaver
3ca42fc838
cleanup iocsh
2014-06-23 16:28:22 -04:00
Michael Davidsaver and Michael Davidsaver
ad2bb0725d
asShutdown
2014-06-23 16:28:22 -04:00
Ralph Lange and Michael Davidsaver
2d4e143987
db/callback: add callbackShutdown() to API, add shutdown handling
2014-06-23 16:28:21 -04:00
Ralph Lange and Michael Davidsaver
23e22313f1
db/dbScan: add scanShutdown() to API, complete shutdown handling
2014-06-23 16:28:21 -04:00
Michael Davidsaver and Michael Davidsaver
564a527489
misc/iocInit: add iocBuildNoCA() and iocShutdown() to API, split up
...
iocBuild in three phases
2014-06-23 16:28:20 -04:00
Michael Davidsaver and Michael Davidsaver
8a42190e39
ensure the errlog is started with iocInit
2014-06-23 16:28:20 -04:00
Michael Davidsaver and Michael Davidsaver
a28a561d8a
epicsExit: optional debug printing
...
Add a flag to cause a string to be printed
before each handler is run to show the order.
2014-06-23 16:28:18 -04:00
Andrew Johnson
0a2020e2fc
Merged changes from 3.14 branch
...
Up to 3.14.12.4 release.
2013-12-17 12:54:04 -06:00
Andrew Johnson
2eb48f43eb
Merged my udf-severity branch.
2013-05-30 15:00:37 -05:00
Andrew Johnson
04ccf9db0d
Consistency for extended device support
...
Call scanDelete() before pdsxt->del_record()
when closing down an IOC.
2013-04-04 14:59:56 -05:00