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
1
A
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.
... ce qui signifie "Non, vous n'avez pas besoin de garder le descripteur de fichier ouvert pendant que le fichier est mappé". – caf