diff options
author | Rickard Green <[email protected]> | 2017-06-01 20:25:00 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-06-01 20:25:00 +0200 |
commit | 222fa490201b33c27b2770e265c3e0594ac74959 (patch) | |
tree | 49a85f2b548e65ed271c9a6e772caf90b8054540 /erts/emulator/beam/erl_process.c | |
parent | d106c5fffb3832fffbdf99cca905390fe15d489f (diff) | |
parent | 5f902e2dbc791373d66f4542a153b827d6b34cb7 (diff) | |
download | otp-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.c | 5 |
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; } |