#include "error.h"
#include "thread.h"
#include "mask.h"
#include "interrupt.h"
#include "countdown.h"
#include "contextswitch.h"
#include "Cstack.h"
#include "mem.h"
#include <errno.h>
Composants | |
struct | FredThreadDesc |
Descripteur de threads. Plus de détails... | |
Définitions des types | |
typedef FredThreadDesc | FredThreadDesc |
Descripteur de threads. | |
Fonctions | |
void * | leonCode (void *x) |
Le code du nettoyeur leon. | |
void | LeonInit () |
Initialisation de leon le nettoyeur. | |
void * | watchDogCode (void *x) |
Le code du chien de garde watchdog. | |
void | WatchDogInit () |
Initialisation du chien de garde watchdog. | |
void | QuantumHandler (int i) |
Traitement d'interruption de fin de quantum. | |
void | TimeSharingInit (long int uS) |
Initialisation du temps partagé. | |
void | FredThreadSuspend (FredQueue *q) |
Suspendre le thread courant dans une file. | |
void | FredThreadWakeUp (FredQueue *q) |
Réveille un thread bloqué. | |
void | FredThreadHarness () |
Code initial des threads. | |
FredThread | FredThreadSpawn (int stacksz, FredRunnable function, void *arg, void **resref) |
Création et lancement d'un thread. | |
void | FredThreadExit (void *res) |
Terminaison immédiate du thread courant. | |
void | FredThreadYield () |
Le thread courant passe la main à un autre thread. | |
FredThread | FredThreadCurrent () |
Rend l'identité du thread courant. | |
void | MainThreadInit () |
Initialisation du pseudo thread principal. | |
void | FredInitialize () |
Initialisation de FRED. | |
void | FredWaitTerminate () |
Attente de fin d'exécution de tous les threads créés. | |
void | FredAbort (char *mess) |
Arrêt brutal du programme et impression d'un message d'erreur. | |
Variables | |
int volatile | nbFredThreads |
Compteur du nombre de threads créés non terminés. | |
FredThread | current |
Le thread actif. | |
FredQueue | readyQ |
File d'attente des threads prêts. | |
FredQueue | deadQ |
File d'attente des threads morts dont la pile est à libérer (réservée à leon le nettoyeur) Un thread terminant s'inscrit dans cette file et réveille leon s'il n'est pas déja réveillé ( cf leonCode() ). | |
FredThread | leon |
Le nettoyeur leon. | |
FredQueue | leonQ |
File d'attente de leon. | |
FredQueue | endQ |
File d'attente de terminaison (réservée au mainThread ). | |
FredThread | mainThread |
Le thread associé à la procédure main(). | |
FredThreadDesc | mainThreadBlock |
Descripeur du thread associé à la procédure main(). | |
FredThread | watchdog |
Thread chien de garde. | |
long int | quantum |
Valeur du quantum en microseconde. |