#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. | |
1.2.17