EventLoop_Stop Function
Header: #include <applibs/eventloop.h>
Stops the EventLoop from running and causes EventLoop_Run to return control to its caller.
int EventLoop_Stop(EventLoop *el);
Parameters
el
A pointer to theEventLoop
object.
Return value
Returns 0 for success, or -1 for failure, in which case errno
is set to the error value.
Remarks
This function can be called from an event callback or another thread to stop the current loop and return from EventLoop_Run
.
If called from a callback, EventLoop_Run will stop synchronously. Once EventLoop_Stop returns, no further events will be processed by EventLoop_Run. EventLoop_Run will then stop processing events and return to its caller.
If called from another thread, EventLoop_Run
will stop asynchronously and return to its caller. As a result, EventLoop_Run
may still process a few events after EventLoop_Stop
returns.
An EventLoop
object is a single-threaded object. An attempt to use EventLoop
from multiple threads simultaneously will result in undefined behavior. The only exception is a call to `EventLoop_Stop.