// Runs the appropriate action for each queued event void event_process(bool deferred) { Event event; while (kl_shift(Event, get_queue(deferred), &event) == 0) { switch (event.type) { case kEventSignal: signal_handle(event); break; case kEventRStreamData: rstream_read_event(event); break; case kEventJobExit: job_exit_event(event); break; default: abort(); } } }
// Runs the appropriate action for each queued event bool event_process(bool deferred) { bool processed_events = false; Event event; while (kl_shift(Event, get_queue(deferred), &event) == 0) { processed_events = true; switch (event.type) { case kEventSignal: signal_handle(event); break; case kEventRStreamData: rstream_read_event(event); break; case kEventJobExit: job_exit_event(event); break; default: abort(); } } return processed_events; }