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

openSUSE Build Service is sponsored by