diff options
author | Paul Smith <psmith@gnu.org> | 2003-01-30 05:22:52 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2003-01-30 05:22:52 +0000 |
commit | 92900df96e4e0e3823b0ce757c03850e51be50b0 (patch) | |
tree | b843b352a445c03c8d1f4c2265334ea0e83de046 /arscan.c | |
parent | 3ac4408b1b92784e305d7fe30afc89c3dd302fd0 (diff) | |
download | make-92900df96e4e0e3823b0ce757c03850e51be50b0.tar.gz |
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).
Diffstat (limited to 'arscan.c')
-rw-r--r-- | arscan.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -781,7 +781,8 @@ ar_member_touch (char *arname, char *memname) if (AR_HDR_SIZE != write (fd, (char *) &ar_hdr, AR_HDR_SIZE)) goto lose; /* The file's mtime is the time we we want. */ - if (fstat (fd, &statbuf) < 0) + EINTRLOOP (i, fstat (fd, &statbuf)); + if (i < 0) goto lose; #if defined(ARFMAG) || defined(ARFZMAG) || defined(AIAMAG) || defined(WINDOWS32) /* Advance member's time to that time */ |