Andrew Johnson
b9f0ef5158
Merge 3.14 version and add 3.15 edits
2016-05-22 14:38:18 +02: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
Ralph Lange
15415b5590
Merge from parallel-cbthreads-2: return value for callbackRequest, add tests
2014-08-25 14:40:37 -07:00
Ralph Lange
ca8eda8090
Merge (cherry-pick) original parts from parallel-cbthreads branch
2014-08-25 13:40:18 -07:00
Ralph Lange
2d4e143987
db/callback: add callbackShutdown() to API, add shutdown handling
2014-06-23 16:28:21 -04:00
Ralph Lange
c1318e7d55
ioc/db: add support for parallel callback threads
...
- use thread safe (spinlocked) callback queues
- add callbackParallelThreads() configuration call (with iocShell binding)
- add callbackParallelThreadsDefault variable, preset to number of CPUs
- remove calls to epicsInterruptLock()
2013-03-29 17:27:56 +01:00
Michael Davidsaver
2a36a3906d
Stage 1 reorganization
...
Directory moves.
src/RTEMS/ => src/libCom/RTEMS/
src/as/ => src/ioc/as/
src/bpt/ => src/ioc/bpt/
src/ca/ => src/ca/client/
src/cap5/ => src/ca/client/perl/
src/cas/ => src/ca/legacy/pcas/
src/catools/ => src/ca/client/tools/
src/db/ => src/ioc/db/
src/dbStatic/ => src/ioc/dbStatic/
src/dbtools/ => src/ioc/dbtemplate/
src/dev/softDev/ => src/std/dev/
src/dev/testDev/ => src/std/test/
src/excas/ => src/ca/legacy/pcas/ex/
src/gdd/ => src/ca/legacy/gdd/
src/makeBaseApp/ => src/template/base/
src/makeBaseExt/ => src/template/ext/
src/misc/ => src/ioc/misc/
src/rec/ => src/std/rec/
src/registry/ => src/ioc/registry/
src/rsrv/ => src/ioc/rsrv/
src/softIoc/ => src/std/softIoc/
src/toolsComm/ => src/libCom/tools/
2010-12-16 15:15:52 -05:00