Merge lp://staging/~epics-core/epics-base/dbscan-update into lp://staging/~epics-core/epics-base/3.16

Proposed by mdavidsaver
Status: Merged
Merged at revision: 12628
Proposed branch: lp://staging/~epics-core/epics-base/dbscan-update
Merge into: lp://staging/~epics-core/epics-base/3.16
Diff against target: 488 lines (+231/-73)
7 files modified
src/ioc/db/dbCa.c (+28/-3)
src/ioc/db/dbCaPvt.h (+51/-50)
src/ioc/db/dbScan.c (+65/-17)
src/ioc/db/dbScan.h (+6/-3)
src/ioc/db/test/Makefile (+6/-0)
src/ioc/db/test/dbScanTest.c (+73/-0)
src/ioc/db/test/epicsRunDbTests.c (+2/-0)
To merge this branch: bzr merge lp://staging/~epics-core/epics-base/dbscan-update
Reviewer Review Type Date Requested Status
mdavidsaver Needs Resubmitting
Andrew Johnson Needs Fixing
Ralph Lange Needs Fixing
Review via email: mp+245680@code.staging.launchpad.net

Description of the change

Some misc. changes to dbScan API looking forward to parallel scanning. Adds two new API functions scanOnce3() and scanIoImmediate().

scanOnce3() allows a once scan w/ completion callback. dbCa is changed to use this, which fixes lp:1362362.

scanIoImmediate() allows external drivers to use the I/O Intr infrastructure while doing scanning on internal threads instead of the shared callback threads.

Also a minor changed to eventNameToHandle to avoid a cantProceed().

To post a comment you must log in.
Revision history for this message
mdavidsaver (mdavidsaver) wrote :

I've included a test case for scanOnce3(). I have one for scanIoImmediate(), but this is dependent on a re-write of scanIoTest.c. I'm unsure about including that in this branch as it is much larger than the other changes.

Revision history for this message
Ralph Lange (ralph-lange) wrote :

I like the changes.

scanIoImmediate() needs to be documented.

So - now we have two options for IO scan processing:
1. Request processing on shared background thread created by iocCore
2. Direct processing on current thread

My original idea of "request progressing on private non-shared thread created by iocCore" is still missing, but I will postpone that (and the complexity that would come with it) until I have a valid use case.

review: Needs Fixing
Revision history for this message
mdavidsaver (mdavidsaver) wrote :
Revision history for this message
Andrew Johnson (anj) wrote :

My only objection to this is the name scanOnce3() which doesn't match the style of the other routine names in the IOC. Something like scanOnceCallback() might be more in keeping, see dbCa.h for several examples using that suffix, but feel free to suggest any alternative you prefer. Just adding a number to indicate extra parameters is not a naming style I particularly like.

review: Needs Fixing
12629. By mdavidsaver

dbScan: rename scanOnce3 to scanOnceCallback

Revision history for this message
mdavidsaver (mdavidsaver) wrote :

Renamed scanOnce3 to scanOnceCallback in code and documentation.

review: Needs Resubmitting

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches