aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_proc_sig_queue.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2019-07-08 15:42:46 +0200
committerRickard Green <[email protected]>2019-07-22 11:18:08 +0200
commitf12c8c88cc1d19d716622a081075ecf14cacf4fd (patch)
tree00f23ab4fca2387911eecc4cf03dd9e61dcfd9c8 /erts/emulator/beam/erl_proc_sig_queue.c
parent97c7c0efdf994b7e1a6860c8f34af4b3474ec8ee (diff)
downloadotp-f12c8c88cc1d19d716622a081075ecf14cacf4fd.tar.gz
otp-f12c8c88cc1d19d716622a081075ecf14cacf4fd.tar.bz2
otp-f12c8c88cc1d19d716622a081075ecf14cacf4fd.zip
Fix node refc test of external data
Diffstat (limited to 'erts/emulator/beam/erl_proc_sig_queue.c')
-rw-r--r--erts/emulator/beam/erl_proc_sig_queue.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c
index 55e469b553..87a80ac528 100644
--- a/erts/emulator/beam/erl_proc_sig_queue.c
+++ b/erts/emulator/beam/erl_proc_sig_queue.c
@@ -4689,10 +4689,12 @@ erts_proc_sig_debug_foreach_sig(Process *c_p,
case ERTS_SIG_Q_OP_MONITOR_DOWN:
switch (type) {
case ERTS_SIG_Q_TYPE_GEN_EXIT:
- if (ERTS_SIG_IS_GEN_EXIT_EXTERNAL(sig))
- debug_foreach_sig_external(sig, ext_func, arg);
- else
+ if (!ERTS_SIG_IS_GEN_EXIT_EXTERNAL(sig))
debug_foreach_sig_heap_frags(&sig->hfrag, oh_func, arg);
+ else {
+ oh_func(&sig->hfrag.off_heap, arg);
+ debug_foreach_sig_external(sig, ext_func, arg);
+ }
break;
case ERTS_LNK_TYPE_PORT:
case ERTS_LNK_TYPE_PROC: