diff options
author | Rickard Green <[email protected]> | 2016-05-02 16:02:02 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2016-05-11 16:28:27 +0200 |
commit | 8cbf3bd3b9d552423812df4acc7a40d9a23fdeae (patch) | |
tree | 9bde60d5088188c656367d3f3d11b19b15e3b42c /erts/emulator/beam/break.c | |
parent | 0aa5f873fdfb391a455bc134256b7c464ffa161b (diff) | |
download | otp-8cbf3bd3b9d552423812df4acc7a40d9a23fdeae.tar.gz otp-8cbf3bd3b9d552423812df4acc7a40d9a23fdeae.tar.bz2 otp-8cbf3bd3b9d552423812df4acc7a40d9a23fdeae.zip |
Add better support for communication with a process executing dirty NIF
- Termination of a process...
- Modify trace flags of process...
- Process info on process...
- Register/unregister of name on process...
- Set group leader on process...
... while it is executing a dirty NIF.
Diffstat (limited to 'erts/emulator/beam/break.c')
-rw-r--r-- | erts/emulator/beam/break.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/erts/emulator/beam/break.c b/erts/emulator/beam/break.c index d02c6828f9..3c19e82b66 100644 --- a/erts/emulator/beam/break.c +++ b/erts/emulator/beam/break.c @@ -118,7 +118,9 @@ process_killer(void) | ERTS_PSFLG_ACTIVE_SYS | ERTS_PSFLG_IN_RUNQ | ERTS_PSFLG_RUNNING - | ERTS_PSFLG_RUNNING_SYS)) { + | ERTS_PSFLG_RUNNING_SYS + | ERTS_PSFLG_DIRTY_RUNNING + | ERTS_PSFLG_DIRTY_RUNNING_SYS)) { erts_printf("Can only kill WAITING processes this way\n"); } else { @@ -214,7 +216,8 @@ print_process_info(int to, void *to_arg, Process *p) if (state & ERTS_PSFLG_GC) { garbing = 1; running = 1; - } else if (state & ERTS_PSFLG_RUNNING) + } else if (state & (ERTS_PSFLG_RUNNING + | ERTS_PSFLG_DIRTY_RUNNING)) running = 1; /* |