programmer questions - MMAP

Wojciech Puchar wojtek at tensor.3miasto.net
Wed Apr 5 21:34:08 UTC 2006


the question is - why character 'a' isn't written!??!?!

#include <sys/mman.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
main() {
  int ff=open("test",O_RDWR|O_CREAT,0666);
  char *adr;
  lseek(ff,1<<24,0);
  write(ff,"",1);
  adr=mmap(0,1<<24,PROT_READ|PROT_WRITE,MAP_NOCORE,ff,0);
  if(adr==MAP_FAILED) { puts("error"); exit(1);}
  printf("%08X\n",(unsigned)adr);
  adr[8192]='a';
  munmap(adr,1<<24);
  close(ff);
};



More information about the freebsd-questions mailing list