diff options
author | Björn-Egil Dahlberg <[email protected]> | 2017-03-15 11:43:55 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2017-03-15 11:43:55 +0100 |
commit | 9d8624408a81f49f243355df3f1ac133167089b0 (patch) | |
tree | 9bcd306edbaeee73531cd922cdc53b7ebb5b2638 /erts/emulator/sys/unix/sys.c | |
parent | 27df945c35aa541330700d75b6844de9886361b2 (diff) | |
parent | aec471e80bf086ae556c9c9b442c3d6cc864c6c8 (diff) | |
download | otp-9d8624408a81f49f243355df3f1ac133167089b0.tar.gz otp-9d8624408a81f49f243355df3f1ac133167089b0.tar.bz2 otp-9d8624408a81f49f243355df3f1ac133167089b0.zip |
Merge branch 'egil/sigterm-fixup'
* egil/sigterm-fixup:
erts: Fix signal pipe
erts: Fix os_signal_SUITE test
Diffstat (limited to 'erts/emulator/sys/unix/sys.c')
-rw-r--r-- | erts/emulator/sys/unix/sys.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c index 0d1ed17449..e836f9bcc8 100644 --- a/erts/emulator/sys/unix/sys.c +++ b/erts/emulator/sys/unix/sys.c @@ -1274,8 +1274,8 @@ signal_dispatcher_thread_func(void *unused) do { res = read(sig_notify_fds[0], (void *) &sb.buf[i], sizeof(int) - i); - i += res; - } while ((i != sizeof(int) && res >= 0) || (res < 0 && errno == EINTR)); + i += res > 0 ? res : 0; + } while ((i < sizeof(int) && res >= 0) || (res < 0 && errno == EINTR)); if (res < 0) { erts_exit(ERTS_ABORT_EXIT, |