Branch: Tag:

1996-11-18

1996-11-18 23:13:35 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

all calls to open(2) now handles EINTR

Rev: src/interpret.c:1.10
Rev: src/modules/files/file.c:1.13
Rev: src/modules/image/font.c:1.7
Rev: src/modules/spider/sharedmem.c:1.5
Rev: src/program.c:1.8
Rev: src/rusage.c:1.3

4:   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: interpret.c,v 1.9 1996/11/14 01:24:09 hubbe Exp $"); + RCSID("$Id: interpret.c,v 1.10 1996/11/18 23:12:31 hubbe Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"
83:   #define MAP_ANONYMOUS 0    if(fd == -1)    { +  while(1) +  {    fd=open("/dev/zero",O_RDONLY); -  if(fd < 0) fatal("Failed to open /dev/zero.\n"); +  if(fd >= 0) break; +  if(errno != EINTR) +  fatal("Failed to open /dev/zero.\n");    } -  +  }   #endif      #define MMALLOC(X,Y) (Y *)mmap(0,X*sizeof(Y),PROT_READ|PROT_WRITE, MAP_NORESERVE | MAP_PRIVATE | MAP_ANONYMOUS, fd, 0)