aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/unix/run_erl.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2017-11-23 15:35:16 +0100
committerSverker Eriksson <[email protected]>2017-11-23 15:35:16 +0100
commit851d82dae27e89275b2a107f98b2fa7bd9c08a1e (patch)
treee807705e605b1bf2c7b4fef3b10484357f39bd06 /erts/etc/unix/run_erl.c
parent9ff9e4cbbeb26b5d420e4552dedbda1820660ed7 (diff)
downloadotp-851d82dae27e89275b2a107f98b2fa7bd9c08a1e.tar.gz
otp-851d82dae27e89275b2a107f98b2fa7bd9c08a1e.tar.bz2
otp-851d82dae27e89275b2a107f98b2fa7bd9c08a1e.zip
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.
Diffstat (limited to 'erts/etc/unix/run_erl.c')
-rw-r--r--erts/etc/unix/run_erl.c7
1 files 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
@@ -1343,11 +1343,8 @@ static int sf_open(const char *path, int type, mode_t mode) {
return fd;
}
static int sf_close(int fd) {
- int res = 0;
-
- do { res = close(fd); } while(fd < 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
* and should not be forwarded to the pty.