diff options
author | Rickard Green <[email protected]> | 2017-06-08 14:45:52 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-06-08 14:45:52 +0200 |
commit | eefca18e8bed9f41ce65ae79fb1a5b614accbfde (patch) | |
tree | 7338c8b44999a6490bfada281110439639091705 /erts/emulator/beam/erl_process.c | |
parent | 72d8f7f0fa53063d16e82b033a2eae7349bcd662 (diff) | |
parent | 766294e485cfc0cf982426cccca0428529e589d8 (diff) | |
download | otp-eefca18e8bed9f41ce65ae79fb1a5b614accbfde.tar.gz otp-eefca18e8bed9f41ce65ae79fb1a5b614accbfde.tar.bz2 otp-eefca18e8bed9f41ce65ae79fb1a5b614accbfde.zip |
Merge branch 'rickard/purge-hibernated-20'
* rickard/purge-hibernated-20:
Update testcase to check that purge handle hibernated process correct
Do not GC hibernated process from other processes
Fix check_process_code() on hibernated process
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 285fa05d63..fc2b34e70f 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; } |