Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Aug 1999 18:28:32 +0100
From:      Andy Doran <ad@netbsd.org>
To:        Oleg Derevenetz <oleg@oleg.sani-c.vrn.ru>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: mmap bug
Message-ID:  <37B1B2C0.AB80D46D@netbsd.org>
References:  <199908111648.UAA01527@oleg.sani-c.vrn.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Um, just where do you call mmap(2) in this code?

- ad

Oleg Derevenetz wrote:

> This small program, running as 'mmap', not 'mmap -u', can hang my machine.
> Is this a known bug in FreeBSD's kernel, or it is my fantasy ?
> Thank you for answer.
> 
> #include <stdio.h>
> #include <stdlib.h>
> #include <sys/types.h>
> #include <sys/mman.h>
> #include <unistd.h>
> #include <fcntl.h>
> #include <errno.h>
> 
> main(int argc, char *argv[])
> {
>      int fd;
>      int i;
>      int len=1024*1024*10;  /*ie 10Mbytes*/
>      caddr_t addr;
>      char ttt[80];
>      int bunlink = 0;
> 
>      if ( argc > 1 && strcmp(argv[1], "-u") == 0 ) {
>        bunlink = 1;
>      }
>      printf("unlink files? %s\n", bunlink ? "YES" : "NO");
> 
>      for (i=0;;i++)
>      {
>      sprintf (ttt,"%d",i);
>      printf("mmaping %ld byte region on file %s\n", len, ttt);
>      fd=open(ttt,O_CREAT|O_RDWR,0666);
>      if (fd<0)
>      {
>         printf("mmap error %ld",errno);
>         exit(1);
>      }
>      memset(addr,'x',len);
>      if ( munmap(addr, len) != 0 ) {
>        fprintf(stderr, "munmap failed\n");
>        exit(EXIT_FAILURE);
>      }
>      close(fd);
>      if ( bunlink ) unlink(ttt);
>      }
> }
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37B1B2C0.AB80D46D>