mmap memory mapping

HackerNeo

Mitglied
Hallo Leute,

ich weiß nicht mehr weiter. Ich schreibe ein Programm, dass zich Daten von deinem Server einliest und bestimmte Metainformationen in eine Datenbank schreibt. Nun ist mein Problem, dass während mein Programm diese Dateien durchsucht, logischerweise das Datum des letzten Zugriffs geändert wird. Mit memory mapping soll es möglich sein sowas zu verhindern, bloß verstehe ich nicht gan wie. Kann mir da jemand helfen und ggf. ein Beispiel geben?

Ganz wichtig Das Zugriffsdatum darf nicht verändert werden.


lg Christian
 
Hallo,

ich verstehe nicht so ganz wie das funktionieren soll. Auch wenn die Datei memory mapped von deinem Programm gelesen wird, so wird doch auf die Datei zugegriffen und folglich auch der Zugriffszeitpunkt verändert. Es gibt 4 verschiedene Zugriffsprotokolle für mmap:
Code:
PROT_EXEC
PROT_WRITE
PROT_READ
PROT_NONE
Bei allen 4 Zugriffsarten wird auch der Zeitstempel des letzten Zugriffs verändert.

Woher hast du denn diese Information?

Gruß,
RedWing
 
Hi.

Du könntest natürlich die Zugriffszeit auslesen und nach der Dateiverarbeitung die Zeit mit der utime Funktion wieder setzen.

Gruß
 
RedWing: Das hab ich mal irgendwo gelesen. Da steht, mmap könnte die atime verändern, muss sie aber nicht verändern.

@ deepthroat: Nee das hab ich ausprobiert. Es funktioniert wunderbar, aber dafür muss ich halt die Rechte auf die Daten haben.

Hmm also hilft mir das alles nicht weiter. Es muss doch noch ne möglichkeit geben. :confused:
 
Zurück