diff options
author | Sverker Eriksson <[email protected]> | 2015-07-10 16:56:15 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2015-08-10 15:22:00 +0200 |
commit | 79b504ca9134121a63c049292d8636d3cd0d99b4 (patch) | |
tree | 8843b3995ee7c64f0d67d365f6b24a2c2ef52759 /erts/emulator/beam/erl_bif_os.c | |
parent | 12002949e5435d19c750fe2cd8e897b4059f875a (diff) | |
download | otp-79b504ca9134121a63c049292d8636d3cd0d99b4.tar.gz otp-79b504ca9134121a63c049292d8636d3cd0d99b4.tar.bz2 otp-79b504ca9134121a63c049292d8636d3cd0d99b4.zip |
Teach smp VM how to deal with crash of a linked trace port
Problem: The sys-msg-dispather crashes the VM when trying to send
exit signals from the links of the terminating trace port.
If try-lock of the linked process fails, a pending exit is
scheduled and erts_scheduler_data() is then called to find
"my" run queue. But sys-msg-dispatcher is not a scheduler
and has no scheduler data, hence SEGV.
Fix: If not a scheduler and we cannot get process locks,
schedule process in its previous run-queue.
Diffstat (limited to 'erts/emulator/beam/erl_bif_os.c')
0 files changed, 0 insertions, 0 deletions