TacOS-team/tacos — Issue #30: [FS] Implementer fcloseall
Author: MaximeCheramy
Created: 2011-10-30 22:06:02+00:00
State: open
Labels: Moyen

Bon, on a une jolie fonction close_all_fd qui prend tous les descripteurs de fichiers ouvert et les ferme. C'est bien (dans le sens où si jamais le close doit faire autre chose qu'un free de la mémoire, il peut le faire), mais ce n'est pas suffisant.
Le rôle de fcloseall est de faire un close pour tous les fichiers ouverts avec fopen. La différence c'est qu'il y a un niveau de bufferisation supplémentaire dans les streams (FILE*) et qu'il faut faire un fflush avant !

Donc en gros, au exit d'un process, il faudrait aussi faire un appel à fcloseall. Et donc accessoirement, il nous faut aussi un fcloseall dans la libc. Je pense le coder simplement en maintenant une liste chainée des streams ouverts. Et pendant que j'écris ça, je me rends compte que je l'ai fait : j'ai un file_list (qui n'est pas utilisé) ! À voir si j'en fais une liste doublement chaînée ou pas (idem, dans fclose, j'ai pas mis de free du stream, mais il faudrait et dans ce cas, faut pas que je coupe la chaine...)