Question

J'utilise fdopen pour associer un flux à un fichier ouvert.

Lorsque je close () le fichier, le flux est également automatiquement dissocié et que toute la mémoire du flux est renvoyée au système d'exploitation, ou dois-je connaître le fichier fdopen'd et fermer d'une manière spécifique?

-Adam

Était-ce utile?

La solution

close () est un appel système. Cela fermera le descripteur de fichier dans le noyau, mais ne libérera pas le pointeur FILE ni les ressources de libc. Vous devez utiliser fclose () sur le pointeur FILE, ce qui permettra également de fermer le descripteur de fichier.

Autres conseils

Le noyau gère ces ressources et vous ne les contrôlez pas autre que l'appel proche qui peut libérer de la mémoire quand il le souhaite (pas plus tard que la fin du processus).

/ Allan

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top