(ar_member_touch) [EINTR]: Do EINTR looping around fstat.
authorRoland McGrath <roland@redhat.com>
Mon, 4 Jul 1994 21:51:49 +0000 (21:51 +0000)
committerRoland McGrath <roland@redhat.com>
Mon, 4 Jul 1994 21:51:49 +0000 (21:51 +0000)
arscan.c

index da9428de01817828cc69270ae721e00a20acfbcf..48fbaa8ca812c3910d0771d4d1a8b5438b5d728a 100644 (file)
--- 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++)