2010-11-11 34 views
1

Lorsque les fichiers de mappage de mémoire dans un système POSIX, avons-nous besoin de garder le fichier descripteur ouvert jusqu'à ce que nous en avons terminé avec le bloc de mémoire ed mmap (et close après que nous munmap) ou peut (devrait?) nous close le descripteur de fichier une fois mmap réussit? Les deux semblent fonctionner sur mon système Linux.Memory Mapping un fichier dans Posix

Répondre

6

De l'Open Group standard

La fonction mmap() ajoutera une référence supplémentaire au fichier associé à le descripteur de fichier fd qui est pas supprimé par un proche ultérieur() sur ce descripteur de fichier . Cette référence doit être supprimée lorsqu'il n'y a pas de autres mappages dans le fichier.

+4

... ce qui signifie "Non, vous n'avez pas besoin de garder le descripteur de fichier ouvert pendant que le fichier est mappé". – caf