aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/dist.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2019-03-18 13:33:30 +0100
committerLukas Larsson <[email protected]>2019-03-25 16:34:11 +0100
commitc0ca8209570b42bfbb029eb7e9ae8750a43fb739 (patch)
tree913beb0e76931019b657d873dd0821554391ac2d /erts/emulator/beam/dist.c
parent1b90b7311d6ccdb39f54d655b82cf6900c60761b (diff)
downloadotp-c0ca8209570b42bfbb029eb7e9ae8750a43fb739.tar.gz
otp-c0ca8209570b42bfbb029eb7e9ae8750a43fb739.tar.bz2
otp-c0ca8209570b42bfbb029eb7e9ae8750a43fb739.zip
erts: Add crash dumping of EXITING and FREE processes
Diffstat (limited to 'erts/emulator/beam/dist.c')
-rw-r--r--erts/emulator/beam/dist.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index 2c2af4bdd3..4c200ecc83 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -5046,3 +5046,22 @@ erts_processes_monitoring_nodes(Process *c_p)
return ctxt.res;
}
+
+static void
+print_suspended_on_de(fmtfn_t to, void *to_arg, DistEntry *dep)
+{
+ for (; dep; dep = dep->next) {
+ ErtsProcList *curr = erts_proclist_peek_first(dep->suspended);
+ while (curr) {
+ if (!is_internal_pid(curr->u.pid))
+ print_process_info(to, to_arg, curr->u.p, 0);
+ curr = erts_proclist_peek_next(dep->suspended, curr);
+ }
+ }
+}
+
+void
+erts_dist_print_procs_suspended_on_de(fmtfn_t to, void *to_arg) {
+ print_suspended_on_de(to, to_arg, erts_hidden_dist_entries);
+ print_suspended_on_de(to, to_arg, erts_visible_dist_entries);
+}