From b574b8ea5a2c91bee40dc8c5f1b8f938928b162a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 4 Jul 1994 21:50:03 +0000 Subject: (name_mtime): Use safe_stat in place of stat. (touch_file) [EINTR]: Do EINTR looping around fstat. --- remake.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/remake.c b/remake.c index c7b183c..452e7e5 100644 --- a/remake.c +++ b/remake.c @@ -777,8 +777,16 @@ touch_file (file) { struct stat statbuf; char buf; + int status; - if (fstat (fd, &statbuf) < 0) +#ifdef EINTR + do +#endif + status = fstat (fd, &statbuf); +#ifdef EINTR + while (status < 0 && errno == EINTR); +#endif + if (status < 0) TOUCH_ERROR ("touch: fstat: "); /* Rewrite character 0 same as it already is. */ if (read (fd, &buf, 1) < 0) @@ -971,7 +979,7 @@ name_mtime (name) { struct stat st; - if (stat (name, &st) < 0) + if (safe_stat (name, &st) < 0) return (time_t) -1; return (time_t) st.st_mtime; -- cgit v1.2.3