aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2017-06-01 20:25:00 +0200
committerRickard Green <[email protected]>2017-06-01 20:25:00 +0200
commit222fa490201b33c27b2770e265c3e0594ac74959 (patch)
tree49a85f2b548e65ed271c9a6e772caf90b8054540 /erts/emulator/beam/erl_process.c
parentd106c5fffb3832fffbdf99cca905390fe15d489f (diff)
parent5f902e2dbc791373d66f4542a153b827d6b34cb7 (diff)
downloadotp-222fa490201b33c27b2770e265c3e0594ac74959.tar.gz
otp-222fa490201b33c27b2770e265c3e0594ac74959.tar.bz2
otp-222fa490201b33c27b2770e265c3e0594ac74959.zip
Merge branch 'rickard/purge-hibernated-19' into rickard/purge-hibernated-20
* rickard/purge-hibernated-19: 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_process.c erts/emulator/beam/erl_process.h
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index d4385e3987..00fc6116e5 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -11220,8 +11220,9 @@ execute_sys_tasks(Process *c_p, erts_aint32_t *statep, int in_reds)
reds--;
}
else {
- if (!minor_gc
- || (!major_gc && type == ERTS_PSTT_GC_MAJOR)) {
+ if ((!minor_gc
+ || (!major_gc && type == ERTS_PSTT_GC_MAJOR))
+ && !(c_p->flags & F_HIBERNATED)) {
if (type == ERTS_PSTT_GC_MAJOR) {
FLAGS(c_p) |= F_NEED_FULLSWEEP;
}