diff options
author | Lukas Larsson <[email protected]> | 2018-12-21 10:36:08 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2019-01-15 16:34:17 +0100 |
commit | 2a46ca2dbe1410c1e7ce057051cdb65526a87485 (patch) | |
tree | b70599675ba75af22433a5a4fa61eafad22d94de /erts/emulator/beam/erl_db_util.c | |
parent | 5f5d0b3dd311ef16b7c6cc61d575cd7e5eccc291 (diff) | |
download | otp-2a46ca2dbe1410c1e7ce057051cdb65526a87485.tar.gz otp-2a46ca2dbe1410c1e7ce057051cdb65526a87485.tar.bz2 otp-2a46ca2dbe1410c1e7ce057051cdb65526a87485.zip |
erts: Make sure to take main lock when dumping proc info
If the main lock is not taken then any process running
on a dirty scheduler may cause all kinds of problems.
Diffstat (limited to 'erts/emulator/beam/erl_db_util.c')
-rw-r--r-- | erts/emulator/beam/erl_db_util.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c index f1d47326b4..e2c029c244 100644 --- a/erts/emulator/beam/erl_db_util.c +++ b/erts/emulator/beam/erl_db_util.c @@ -2470,7 +2470,7 @@ restart: case matchProcessDump: { erts_dsprintf_buf_t *dsbufp = erts_create_tmp_dsbuf(0); ASSERT(c_p == self); - print_process_info(ERTS_PRINT_DSBUF, (void *) dsbufp, c_p); + print_process_info(ERTS_PRINT_DSBUF, (void *) dsbufp, c_p, ERTS_PROC_LOCK_MAIN); *esp++ = new_binary(build_proc, (byte *)dsbufp->str, dsbufp->str_len); erts_destroy_tmp_dsbuf(dsbufp); |