EventLoop_Stop, fonction
En-tête : #include <applibs/eventloop.h>
Arrête l’exécution de l’EventLoop et amène EventLoop_Run à retourner le contrôle à son appelant.
int EventLoop_Stop(EventLoop *el);
Paramètres
-
el
Pointeur vers l’objetEventLoop
.
Valeur de retour
Retourne 0 pour la réussite, ou -1 en cas d’échec, auquel cas errno
est défini sur la valeur d’erreur.
Remarques
Cette fonction peut être appelée à partir d’un rappel d’événement ou d’un autre thread pour arrêter la boucle actuelle et retourner à partir de EventLoop_Run
.
En cas d’appel à partir d’un rappel, EventLoop_Run s’arrêtera de façon synchrone. Une fois que EventLoop_Stop est retourné, aucun autre événement n’est traité par EventLoop_Run. EventLoop_Run arrête ensuite le traitement des événements et retourne à son appelant.
Si elle est appelée à partir d’un autre thread, EventLoop_Run
s’arrête de façon asynchrone et retourne à son appelant. Par conséquent, EventLoop_Run
peut toujours traiter quelques événements après EventLoop_Stop
les retours.
Un EventLoop
objet est un objet à thread unique. Une tentative d’utilisation EventLoop
simultanée à partir de plusieurs threads entraîne un comportement non défini. La seule exception est un appel à EventLoop_Stop.