diff -u dir.c dir.c --- dir.c Mon May 8 14:26:00 2000 +++ dir.c Fri Mar 9 14:53:31 2001 @@ -559,13 +559,19 @@ return 0; } - while ((d = readdir (dir->dirstream)) != 0) + for(;;) { /* Enter the file in the hash table. */ register unsigned int newhash = 0; unsigned int len; register unsigned int i; + errno = 0; + if ((d = readdir (dir->dirstream)) == 0) { + if (errno == EINTR) + continue; + break; + } #if defined(VMS) && defined(HAVE_DIRENT_H) /* In VMS we get file versions too, which have to be stripped off */ {