From d33ff301454fa1db9919674dbc2a37309bbd529f Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Thu, 30 Jan 2003 05:22:52 +0000 Subject: Portability fix for glob.h building in FreeBSD ports system. Implement a fix for bug # 2169: too many OSs, even major OSs like Solaris, don't properly implement SA_RESTART: important system calls like stat() can still fail when SA_RESTART is set. So, forget the BROKEN_RESTART config check and get rid of atomic_stat() and atomic_readdir(), and implement permanent wrappers for EINTR checking on various system calls (stat(), fstat(), opendir(), and readdir() so far). --- misc.c | 32 -------------------------------- 1 file changed, 32 deletions(-) (limited to 'misc.c') diff --git a/misc.c b/misc.c index 5305220..ef754e5 100644 --- a/misc.c +++ b/misc.c @@ -828,35 +828,3 @@ get_path_max (void) return value; } #endif - - -#ifdef HAVE_BROKEN_RESTART - -#undef stat -#undef readdir - -int -atomic_stat (const char *file, struct stat *buf) -{ - int r; - - while ((r = stat (file, buf)) < 0) - if (errno != EINTR) - break; - - return r; -} - -struct dirent * -atomic_readdir (DIR *dir) -{ - struct dirent *r; - - while ((r = readdir (dir)) == NULL) - if (errno != EINTR) - break; - - return r; -} - -#endif /* HAVE_BROKEN_RESTART */ -- cgit v1.2.3