Blame | Last modification | View Log | RSS feed
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>liboop: oop_sys_run()</title><link rel="stylesheet" type="text/css" href="style.css"></head><body><h2>oop_sys_run(), oop_sys_run_once()</h2><pre>#include <oop.h>/* <em>Run the event loop.</em> */oop_source *oop_sys_run(oop_source_sys *sys);oop_source *oop_sys_run_once(oop_source_sys *sys);</pre><h3>Arguments.</h3><dl><dt><b>oop_source_sys *sys</b><dd>The event source to operate.</dl><h3>Description.</h3>The oop_sys_run() function starts waiting for events registered with thesystem event source <em>sys</em>. As events (file descriptor activity, timedevents, and signals) occur, the appropriate event sinks are called. As longas these callbacks return OOP_CONTINUE, the function continues running andprocessing events.<p>When one of the callbacks returns some other value, oop_sys_run returns thisvalue. 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 decidewhether to restart the event loop (by calling oop_sys_run again) or not.<p>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.<p>The oop_sys_run_once() function behaves just like oop_sys_run(), but returnsimmediately after processing any pending results. The return values are thesame as oop_sys_run(), except that a return of OOP_CONTINUE does notnecessarily mean that no event sinks are registered.<p><hr><a href="ref">liboop reference</a></body></html>