Skip to content

Mutex fix

Andreas Persson requested to merge mutex-fix into master

Both softIrqTask() and channelDecodeTask() block on event eventId_. epicsEventMustTrigger() will only wake up one of the threads waiting for the event.

There is no need to wait for the trigger event in channelDecodeTask(). periodic->dispatchData() will block if there is no data available in the buffer.

Also, take the terminateWorkersLock mutex before exiting the loop. Otherwise the mutex is unlocked twice and an error message is printed on the console.

Edited by Andreas Persson

Merge request reports