EventLoop_Stop functie
Header: #include <applibs/eventloop.h>
Hiermee wordt de EventLoop niet meer uitgevoerd en wordt EventLoop_Run het besturingselement terug naar de aanroeper.
int EventLoop_Stop(EventLoop *el);
Parameters
-
el
Een aanwijzer naar hetEventLoop
object.
Retourwaarde
Retourneert 0 voor geslaagd, of -1 voor fout, in welk geval errno
is ingesteld op de foutwaarde.
Opmerkingen
Deze functie kan worden aangeroepen vanuit een callback van een gebeurtenis of een andere thread om de huidige lus te stoppen en terug te keren van EventLoop_Run
.
Als u vanuit een callback wordt aangeroepen, stopt EventLoop_Run synchroon. Zodra EventLoop_Stop retourneert, worden er geen verdere gebeurtenissen meer verwerkt door EventLoop_Run. EventLoop_Run stopt vervolgens met het verwerken van gebeurtenissen en keert terug naar de aanroeper.
Als deze wordt aangeroepen vanuit een andere thread, EventLoop_Run
stopt deze asynchroon en keert u terug naar de aanroeper. Als gevolg hiervan EventLoop_Run
kan het nog steeds een paar gebeurtenissen verwerken na EventLoop_Stop
retouren.
Een EventLoop
object is een object met één thread. Een poging om meerdere threads tegelijk te gebruiken EventLoop
, resulteert in niet-gedefinieerd gedrag. De enige uitzondering is een aanroep naar 'EventLoop_Stop.