aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2017-06-01 19:56:07 +0200
committerRickard Green <[email protected]>2017-06-01 19:56:07 +0200
commit5f902e2dbc791373d66f4542a153b827d6b34cb7 (patch)
tree6c53194bc97576561795a056d9d549b47609fa86 /erts/emulator/beam/erl_process.c
parent2b41d8f318b7e5ec139d42fd2f01a132699be839 (diff)
parentc8f1d8218a2aa01a2b8d4f65af6e07e5ca2b631e (diff)
downloadotp-5f902e2dbc791373d66f4542a153b827d6b34cb7.tar.gz
otp-5f902e2dbc791373d66f4542a153b827d6b34cb7.tar.bz2
otp-5f902e2dbc791373d66f4542a153b827d6b34cb7.zip
Merge branch 'rickard/purge-hibernated' into rickard/purge-hibernated-19
* rickard/purge-hibernated: Do not GC hibernated process from other processes Fix check_process_code() on hibernated process Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/erl_gc.c erts/emulator/beam/erl_process.h
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index bc59147c6c..52fc00daac 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -10421,7 +10421,8 @@ execute_sys_tasks(Process *c_p, erts_aint32_t *statep, int in_reds)
reds--;
}
else {
- if (!garbage_collected) {
+ if (!garbage_collected
+ && !(c_p->flags & F_HIBERNATED)) {
FLAGS(c_p) |= F_NEED_FULLSWEEP;
reds -= scheduler_gc_proc(c_p, reds);
garbage_collected = 1;