In reply to Michael54:
_irq_ev.trigger();
sets the trigger to ‘on’, trigger_time = actual time, num_waiters to the actual waiting processes.
_irq_ev.reset();
resets the trigger, setting the trigger to ‘off’, num_waiters = 0, trigger_time = 0.