aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2017-06-01 19:29:36 +0200
committerRickard Green <[email protected]>2017-06-01 19:29:36 +0200
commitc8f1d8218a2aa01a2b8d4f65af6e07e5ca2b631e (patch)
tree006faab3bd003ca76128e9cfa14715a78ddb6d19 /erts
parentf4836a7883842f0e2ae20285ccedf9856c66b24a (diff)
downloadotp-c8f1d8218a2aa01a2b8d4f65af6e07e5ca2b631e.tar.gz
otp-c8f1d8218a2aa01a2b8d4f65af6e07e5ca2b631e.tar.bz2
otp-c8f1d8218a2aa01a2b8d4f65af6e07e5ca2b631e.zip
Do not GC hibernated process from other processes
Diffstat (limited to 'erts')
-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 d583118e7b..bce4e7fff3 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -10059,7 +10059,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 += erts_garbage_collect(c_p,
0,