Share via


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 het EventLoop 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.