#include "contextswitch.h"
#include "list.h"
Aller au code source de ce fichier.
Définitions des macros | |
#define | FredTHREAD_NIL (FredThread)NIL |
Définition du thread inexistant. | |
#define | FredQueueGetFirst(Q) (FredThread)FredListGetFirst((FredList*)Q) |
Retirer le premier thread d'une file d'attente. | |
#define | FredQueuePutLast(Q, th) FredListPutLast((FredList*)Q,(FredCell*)th) |
Insérer un thread déja bloqué dans une file d'attente. | |
#define | FredQueueEmpty(Q) FredListEmpty((FredList*)Q) |
Tester une queue à vide de threads. | |
#define | FredQueueInit(Q) FredListInit((FredList*)Q); |
Initialiser une queue vide de threads. | |
#define | FredMutexOn() FredMaskOn() |
Début de section critique. | |
#define | FredMutexOff() FredMaskOff() |
Fin de section critique. | |
Définitions des types | |
typedef void *(* | FredRunnable )(void *) |
Le type d'une procédure initiale de thread. | |
typedef FredThreadDesc * | FredThread |
L'identité d'un thread est un pointeur sur son descripteur. | |
typedef FredList | FredQueue |
Définition du type queue de threads. | |
Fonctions | |
void | FredThreadSuspend (FredQueue *q) |
Suspendre le thread courant dans une file. | |
void | FredThreadWakeUp (FredQueue *q) |
Réveille un thread bloqué. | |
void | FredThreadExit (void *) |
Terminaison immédiate du thread courant. | |
void | FredThreadYield () |
Le thread courant passe la main à un autre thread. | |
void | FredInitialize () |
Initialisation de FRED. | |
void | FredWaitTerminate () |
Attente de fin d'exécution de tous les threads créés. | |
void | FredAbort (char *) |
Arrêt brutal du programme et impression d'un message d'erreur. |