File 0141-run_erl-Cleanup-buggy-retry-of-close.patch of Package erlang
From 851d82dae27e89275b2a107f98b2fa7bd9c08a1e Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Thu, 23 Nov 2017 15:35:16 +0100
Subject: [PATCH 2/2] run_erl: Cleanup buggy retry of close
The retry loop wasn't working anyway as it tested fd<0
instead of res.
So, there is no real semantic change here.
---
erts/etc/unix/run_erl.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/erts/etc/unix/run_erl.c b/erts/etc/unix/run_erl.c
index f05c729eeb..81a0036c99 100644
--- a/erts/etc/unix/run_erl.c
+++ b/erts/etc/unix/run_erl.c
@@ -1346,11 +1346,8 @@ static int sf_open(const char *path, int type, mode_t mode) {
}
static int sf_close(int fd) {
- int res = 0;
-
- do { res = close(fd); } while(res < 0 && errno == EINTR);
-
- return res;
+ /* "close() should not be retried after an EINTR" */
+ return close(fd);
}
/* Extract any control sequences that are ment only for run_erl
--
2.15.0