lp:~epics-core/epics-base/callback-error

Created by mdavidsaver and last modified

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
Members of EPICS Core Developers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
EPICS Core Developers
Project:
EPICS Base
Status:
Abandoned

Recent revisions

12243. By mdavidsaver

copyright boilerplate

12242. By mdavidsaver

also test delayed callback overflow

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.

12239. By mdavidsaver

functions to check callback queue level

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 fails

New API functions
  callbackPrepare - Initialize
  callbackCleanup - Deallocate timer queue

Functions now returning error codes
  callbackRequest
  callbackRequestProcessCallback
  callbackRequestDelayed
  callbackRequestProcessCallbackDelayed

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 callbackSetErrback()

If no errback is set then a message is printed to
the console.

12236. By Janet B. Anderson

Move linux-x86 GNU compiler tune c flag setting to CONFIG_SITE file.

12235. By Janet B. Anderson

Initial version

12234. By Janet B. Anderson

Initial version

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
This branch contains Public information 
Everyone can see this information.