EventLoop_Stop-Funktion
Header: #include <applibs/eventloop.h>
Beendet die Ausführung von EventLoop und bewirkt , dass EventLoop_Run die Steuerung an den Aufrufer zurückgibt.
int EventLoop_Stop(EventLoop *el);
Parameter
-
el
Ein Zeiger auf dasEventLoop
-Objekt.
Rückgabewert
Gibt 0 für erfolg oder -1 für Fehler zurück. In diesem Fall errno
wird auf den Fehlerwert festgelegt.
Bemerkungen
Diese Funktion kann von einem Ereignisrückruf oder einem anderen Thread aufgerufen werden, um die aktuelle Schleife zu beenden und von EventLoop_Run
zurückzugeben.
Wenn von einem Rückruf aufgerufen wird, wird EventLoop_Run synchron beendet. Sobald EventLoop_Stop zurückgegeben wird, werden keine weiteren Ereignisse von EventLoop_Run verarbeitet. EventLoop_Run beendet dann die Verarbeitung von Ereignissen und kehrt zu seinem Aufrufer zurück.
Wenn von einem anderen Thread aufgerufen wird, EventLoop_Run
wird asynchron beendet und zu seinem Aufrufer zurückkehren. Daher EventLoop_Run
kann nach der Rückgabe noch einige Ereignisse EventLoop_Stop
verarbeitet werden.
Ein EventLoop
Objekt ist ein Singlethread-Objekt. Ein Versuch, mehrere Threads gleichzeitig zu verwenden EventLoop
, führt zu einem nicht definierten Verhalten. Die einzige Ausnahme ist ein Aufruf von 'EventLoop_Stop.