lp:~epics-core/epics-base/callback-error
Callback error reporting
Currently callbackRequest does not directly report a failure to queue
a request, it just prints a message. This can happen because a fixed
length queue is used.
This branch changes the callback.h (and related) APIs it two ways.
Several functions which previously returned void now return long.
And each CALLBACK has a second (optional) function pointer
for asynchronous error reporting (delayed callbacks)
- Get this branch:
- bzr branch lp:~epics-core/epics-base/callback-error
Branch merges
Branch information
Recent revisions
- 12241. By mdavidsaver
-
error reporting in scanIoRequest
Now returns an error if it was not possible to queue
all the callbacks associated with this IOSCANPVT.No callbacks are queued if an error occurs.
- 12240. By mdavidsaver
-
use ringOverflow flag only for messages
Makes it easier (and safer) to test if a
queue has room for another callback. - 12238. By mdavidsaver
-
update callbackTest to test overflow behavior
Fill up and drain the buffer 3 times
- 12237. By mdavidsaver
-
Error handling in CALLBACK
Possible failures:
ring buffer full
Timer alloc failsNew API functions
callbackPrepare - Initialize
callbackCleanup - Deallocate timer queueFunctions now returning error codes
callbackRequest
callbackRequestProcessCallba ck
callbackRequestDelayed
callbackRequestProcessCallba ckDelayed Asynchronous error reporting for delayed callbacks.
Each callback may provide a second errback function
to be called if a delayed action fails.This function pointer is set with callbackSetErrb
ack() If no errback is set then a message is printed to
the console.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:~epics-core/epics-base/3.15