From: Roland McGrath Date: Mon, 4 Jul 1994 21:51:49 +0000 (+0000) Subject: (ar_member_touch) [EINTR]: Do EINTR looping around fstat. X-Git-Tag: 3.71.2~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30c146526571d09788abb409a040fae7ee1c12b5;p=thirdparty%2Fmake.git (ar_member_touch) [EINTR]: Do EINTR looping around fstat. --- diff --git a/arscan.c b/arscan.c index da9428de..48fbaa8c 100644 --- a/arscan.c +++ b/arscan.c @@ -495,7 +495,11 @@ ar_member_touch (arname, 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. */ +#ifdef EINTR + while (fstat (fd, &statbuf) < 0 && errno == EINTR); +#else fstat (fd, &statbuf); +#endif #if defined(ARFMAG) || defined(AIAMAG) /* Advance member's time to that time */ for (i = 0; i < sizeof ar_hdr.ar_date; i++)