@MD: We do have some tests for dbNotify in the base-3.16 and 7.0 trees; the tests for the input record types in src/std/rec/test/asynSoftChannel.* check the operation of the soft callback device supports which use dbNotify to do a processGet on the INP link target. Unfortunately though the target record used is a subRecord, which might seem ideal for testing this condition except that its process() routine always returns 0 no matter what the sub returns. Same for the aSub, and for various other record types as well.
The return value from process() has always been hard to work out how to use; if record A forward links to B and B's process() returns an error, should A's process() return that error code? If B is asynchronous and it only returns an error from the async-completion call to process() though, the error would go elsewhere... What to do with the status values from all the INP links that are PP so their process() routines are also called?
I have a small and simple change that might fix this, but I haven't worked out how to test it yet.
@MD: We do have some tests for dbNotify in the base-3.16 and 7.0 trees; the tests for the input record types in src/std/ rec/test/ asynSoftChannel .* check the operation of the soft callback device supports which use dbNotify to do a processGet on the INP link target. Unfortunately though the target record used is a subRecord, which might seem ideal for testing this condition except that its process() routine always returns 0 no matter what the sub returns. Same for the aSub, and for various other record types as well.
The return value from process() has always been hard to work out how to use; if record A forward links to B and B's process() returns an error, should A's process() return that error code? If B is asynchronous and it only returns an error from the async-completion call to process() though, the error would go elsewhere... What to do with the status values from all the INP links that are PP so their process() routines are also called?
I have a small and simple change that might fix this, but I haven't worked out how to test it yet.