000
12.12.2009, 04:57 Uhr
~Sne11ius
Gast
|
Hallo!
ich möchte Daten von einer Datei in eine Andere kopieren und dafür mmap() benutzen. Mein Problem dabei: Wenn ich als flag-Parameter "MAP_SHARED" übergebe, bekomme ich MAP_FAILED zurück mit der Begründung "Invalid argument" in errno. Das könnte ich ja noch verstehen: habe ich wohl einen ungültigen Parameter übergeben. Aber: Wenn ich als flag "MAP_PRIVATE" übergebe, nimmt mmap() die restlichen Parameter an. - Nur wird dann natürlich leider keine Änderung auf die Festplatte geschrieben. Kann mir jemand sagen, wie sich der Unterschied im Verhalten von mmap() erklären lässt? Vielleicht hilft mir das ja dabei, den falschen Parameter zu finden.
Mein Aufruf lautet:
C++: |
char* to_buf = reinterpret_cast<char*>(mmap(NULL, size_mod, PROT_WRITE, MAP_SHARED, to_fd, 0));
|
Vielen Dank & Viele Grüße:
Sne11ius |