summaryrefslogtreecommitdiff
path: root/remake.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2001-06-01 03:56:50 +0000
committerPaul Smith <psmith@gnu.org>2001-06-01 03:56:50 +0000
commitce2c6eadf1a7f49465a51a4377f2705ce637715c (patch)
tree4e3fe9abeb5b51cd37f36f139e71ee9c79527374 /remake.c
parent5d582d4ba06495a95854c45828399f7edfe51a50 (diff)
downloadgunmake-ce2c6eadf1a7f49465a51a4377f2705ce637715c.tar.gz
Fix for EINTR problems when using jobserver.
New translation files. Fix for @+ inside define macros being applied too widely. Various other bug fixes.
Diffstat (limited to 'remake.c')
-rw-r--r--remake.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/remake.c b/remake.c
index 06e8d31..029cd91 100644
--- a/remake.c
+++ b/remake.c
@@ -933,13 +933,8 @@ touch_file (file)
{
struct stat statbuf;
char buf;
- int status;
- do
- status = fstat (fd, &statbuf);
- while (status < 0 && EINTR_SET);
-
- if (status < 0)
+ if (fstat (fd, &statbuf) < 0)
TOUCH_ERROR ("touch: fstat: ");
/* Rewrite character 0 same as it already is. */
if (read (fd, &buf, 1) < 0)
@@ -1239,13 +1234,12 @@ name_mtime (name)
{
struct stat st;
- while (stat (name, &st) != 0)
- if (!EINTR_SET)
- {
- if (errno != ENOENT && errno != ENOTDIR)
- perror_with_name ("stat:", name);
- return NONEXISTENT_MTIME;
- }
+ if (stat (name, &st) != 0)
+ {
+ if (errno != ENOENT && errno != ENOTDIR)
+ perror_with_name ("stat:", name);
+ return NONEXISTENT_MTIME;
+ }
return FILE_TIMESTAMP_STAT_MODTIME (name, st);
}