aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_proc_sig_queue.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2019-01-31 10:52:35 +0100
committerLukas Larsson <[email protected]>2019-02-22 11:12:54 +0100
commitfc0967392625626289f03e6955c24e73ea1fd617 (patch)
tree8a315eb719e3da00d44bb193724f8f3eaac04f88 /erts/emulator/beam/erl_proc_sig_queue.c
parent2bf27ec51e331371412576a9a9a67353109109ad (diff)
downloadotp-fc0967392625626289f03e6955c24e73ea1fd617.tar.gz
otp-fc0967392625626289f03e6955c24e73ea1fd617.tar.bz2
otp-fc0967392625626289f03e6955c24e73ea1fd617.zip
erts: Implement trapping while sending distr exit/down
The reason in EXIT and DOWN may be arbitrarily large, so we yield and allow other processes to execute while encoding and sending the signals over the distribution.
Diffstat (limited to 'erts/emulator/beam/erl_proc_sig_queue.c')
-rw-r--r--erts/emulator/beam/erl_proc_sig_queue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c
index d20be0149c..9c74a2c355 100644
--- a/erts/emulator/beam/erl_proc_sig_queue.c
+++ b/erts/emulator/beam/erl_proc_sig_queue.c
@@ -3854,7 +3854,7 @@ erts_proc_sig_handle_exit(Process *c_p, Sint *redsp)
break;
case ERTS_SIG_Q_OP_MONITOR: {
- ErtsProcExitContext pectxt = {c_p, am_noproc};
+ ErtsProcExitContext pectxt = {c_p, am_noproc, NULL, NULL, NIL};
erts_proc_exit_handle_monitor((ErtsMonitor *) sig,
(void *) &pectxt, -1);
cnt += 4;