Partager via


EventLoop_Run, fonction

En-tête : #include <applibs/eventloop.h>

Exécute un EventLoop et répartit les événements en attente dans le thread d’exécution de l’appelant.

EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
                                   bool process_one_event);

Paramètres

  • el EventLoop à exécuter.

  • duration_in_milliseconds Durée d’exécution de la boucle d’événements. Si la valeur est zéro, la boucle traite un événement si l’un d’eux est prêt et s’arrête immédiatement, quelle que soit la valeur du process_one_event paramètre. Si elle est supérieure à zéro, la boucle s’exécute pendant la durée spécifiée, sauf si elle est interrompue. Si elle est inférieure à zéro, la boucle continue à s’exécuter jusqu’à ce qu’elle soit interrompue. Consultez la fonction EventLoop_Stop et le process_one_event paramètre pour obtenir des conditions supplémentaires.

  • process_one_event Indique s’il faut interrompre la boucle après le traitement du premier événement. Si la valeur est false, la boucle continue à s’exécuter pendant la durée spécifiée par le duration_in_milliseconds paramètre ou jusqu’à ce qu’elle soit interrompue par EventLoop_Stop. Ce paramètre est ignoré si duration_in_milliseconds a la valeur zéro.

Valeur de retour

Retourne une valeur EventLoop_Run_Result qui indique les résultats de cet appel de fonction.

Remarques

Une application peut appeler EventLoop_Run(el, -1, false) pour passer le contrôle du thread appelant au EventLoop.

Si l’application appelle EventLoop_Run(el, -1, true), la boucle bloque et attend que le premier événement soit prêt, puis elle traite l’événement et retourne.

Une application peut appeler EventLoop_Stop pour quitter EventLoop_Run plus tôt.