Partager via


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’objet EventLoop .

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.