diff options
author | Rickard Green <rickard@erlang.org> | 2021-11-10 14:52:57 +0100 |
---|---|---|
committer | Rickard Green <rickard@erlang.org> | 2021-11-10 14:52:57 +0100 |
commit | 31f74bd8aa3ce9a4935786e05f73c2f1c28092b2 (patch) | |
tree | 8627d580518a3f7e7493466a0c3661b893fee118 /erts/emulator/beam/erl_process.c | |
parent | 9e754892c3a43b9518f23716ddbb7a441545a88d (diff) | |
parent | edc955b681d1db2375e91b18db4340be309323f3 (diff) | |
download | erlang-31f74bd8aa3ce9a4935786e05f73c2f1c28092b2.tar.gz |
Merge branch 'rickard/force-dist-signal-fix/24.1.4/GH-5346/GH-4989/OTP-17737' into rickard/force-dist-signal-fix/master/GH-5346/GH-4989/OTP-17737
* rickard/force-dist-signal-fix/24.1.4/GH-5346/GH-4989/OTP-17737:
Disconnect against buggy node when if we detect it
Fix forced distributed send of signals
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r-- | erts/emulator/beam/erl_process.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index c87f135870..efca9e1ee0 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -13124,7 +13124,7 @@ proc_exit_handle_pend_spawn_monitors(ErtsMonitor *mon, void *vctxt, Sint reds) item = copy_struct(mon->other.item, item_sz, &hp, factory.off_heap); erts_factory_close(&factory); code = erts_dsig_send_exit_tt(&ctx, - c_p->common.id, + c_p, item, reason, SEQ_TRACE_TOKEN(c_p)); @@ -13406,7 +13406,7 @@ erts_proc_exit_handle_dist_link(ErtsLink *lnk, void *vctxt, Sint reds) item = copy_struct(lnk->other.item, item_sz, &hp, factory.off_heap); erts_factory_close(&factory); code = erts_dsig_send_exit_tt(&ctx, - c_p->common.id, + c_p, item, reason, SEQ_TRACE_TOKEN(c_p)); @@ -13491,13 +13491,13 @@ erts_proc_exit_handle_link(ErtsLink *lnk, void *vctxt, Sint reds) if (!erts_link_dist_delete(dlnk)) elnk = NULL; - code = erts_dsig_prepare(&ctx, dep, c_p, 0, ERTS_DSP_NO_LOCK, 1, 1, 0); + code = erts_dsig_prepare(&ctx, dep, NULL, 0, ERTS_DSP_NO_LOCK, 1, 1, 0); switch (code) { case ERTS_DSIG_PREP_CONNECTED: case ERTS_DSIG_PREP_PENDING: if (dist->connection_id == ctx.connection_id) { code = erts_dsig_send_exit_tt(&ctx, - c_p->common.id, + c_p, lnk->other.item, reason, SEQ_TRACE_TOKEN(c_p)); |