In the last episode (Jun 23), Dmitry Pryanishnikov said: > I'm writing an utility that should examine some bytes of a large > file and modify them - that't all. I've decided to mmap() the file: > > void *diskp; > > if ((fd=open(argv[1], O_RDWR)) == -1) > err(EX_NOINPUT, "Can't open %s for readind and writing", argv[1]); > > if ((diskp=mmap(NULL, 512, > PROT_READ | PROT_WRITE, 0, fd, 0)) == MAP_FAILED) > err(EX_IOERR, "Can't mmap() file");
Try adding MAP_SHARED. mmap defaults to private mappings, which means you changes don't get synched back to disk. I wonder how many programs would break if the mmap syscall returned an error if neither MAP_PRIVATE or MAP_SHARED were set... -- Dan Nelson [EMAIL PROTECTED] _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"