aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2010-05-17 12:50:22 +0000
committerErlang/OTP <[email protected]>2010-05-17 12:50:22 +0000
commit89dd9861de5ef78c0e06f4e924166568ce381f9f (patch)
treeb064b3875c552f647c39a37ee9b57572e4fef7dd
parent4dee81fbfafeb6a0c5d8a20abce72c080860fe81 (diff)
parent3e645422ef452ae8c1051c4fdffa97df21e918ce (diff)
downloadotp-89dd9861de5ef78c0e06f4e924166568ce381f9f.tar.gz
otp-89dd9861de5ef78c0e06f4e924166568ce381f9f.tar.bz2
otp-89dd9861de5ef78c0e06f4e924166568ce381f9f.zip
Merge branch 'mp/fix-erts_poll_info_kp-livelock' into dev
* mp/fix-erts_poll_info_kp-livelock: fix livelock in erts_poll_info_kp() OTP-8632 mp/fix-erts_poll_info_kp-livelock When kernel poll has been enabled, a livelock could in rare circumstances occur. Problem reported by Chetan Ahuja, fix by Mikael Pettersson.
-rw-r--r--erts/emulator/sys/common/erl_poll.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/sys/common/erl_poll.c b/erts/emulator/sys/common/erl_poll.c
index 5cca33d7eb..d268547e1a 100644
--- a/erts/emulator/sys/common/erl_poll.c
+++ b/erts/emulator/sys/common/erl_poll.c
@@ -2405,6 +2405,7 @@ ERTS_POLL_EXPORT(erts_poll_info)(ErtsPollSet ps, ErtsPollInfo *pip)
while (urqbp) {
size += sizeof(ErtsPollSetUpdateRequestsBlock);
pending_updates += urqbp->len;
+ urqbp = urqbp->next;
}
}
#endif