#include <oop.h> /* Run the event loop. */ oop_source *oop_sys_run(oop_source_sys *sys); oop_source *oop_sys_run_once(oop_source_sys *sys);
When one of the callbacks returns some other value, oop_sys_run returns this value. You can use this technique to allow callbacks to return data to the "owner" of the event loop (the caller of oop_sys_run). You may then decide whether to restart the event loop (by calling oop_sys_run again) or not.
If an error occurs waiting for events, oop_sys_run returns OOP_ERROR. If no event sinks are registered (which would lead to an infinite delay), oop_sys_run returns OOP_CONTINUE.
The oop_sys_run_once() function behaves just like oop_sys_run(), but returns immediately after processing any pending results. The return values are the same as oop_sys_run(), except that a return of OOP_CONTINUE does not necessarily mean that no event sinks are registered.