2009-05-14 8 views

risposta

16

Dipenderà se il file mappato in memoria viene aperto con modifiche privata (MAP_PRIVATE) o meno (MAP_SHARED). Se privato, allora no; le modifiche non verranno riscritte sul disco. Se condiviso, il pool del buffer del kernel contiene i buffer modificati e questi verranno scritti sul disco a tempo debito, indipendentemente dalla causa della morte.

+0

Grazie! Hai qualche documentazione su questo comportamento? Non sono riuscito a trovarne. – chila

+4

dallo standard POSIX (http://www.opengroup.org/onlinepubs/9699919799/toc.htm) per mmap() dice: Se non viene specificato MAP_SHARED, scrivere i riferimenti devono modificare l'oggetto sottostante. Nessuna parola di donnola su "a meno che il processo non venga ucciso dopo il completamento della scrittura della memoria, ma prima che i dati vengano scaricati sul disco". –

Problemi correlati