aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2012-02-14 11:06:53 +0100
committerHenrik Nord <[email protected]>2012-02-14 11:06:53 +0100
commitf44819b6caa42697cbf2b6b52f95f7b87baf683f (patch)
tree80004096708f644c87ef29e82f4ca1ed5fb38a2f /erts/emulator/beam
parentb0be4ac9eb763b2d1f31712ff33346fb968ba582 (diff)
parent8425d4b6b26a9eea2c707fc343776fc404c0fbad (diff)
downloadotp-f44819b6caa42697cbf2b6b52f95f7b87baf683f.tar.gz
otp-f44819b6caa42697cbf2b6b52f95f7b87baf683f.tar.bz2
otp-f44819b6caa42697cbf2b6b52f95f7b87baf683f.zip
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/erl_gc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c
index 9590aa4a74..bde87b8346 100644
--- a/erts/emulator/beam/erl_gc.c
+++ b/erts/emulator/beam/erl_gc.c
@@ -357,10 +357,11 @@ erts_garbage_collect(Process* p, int need, Eterm* objv, int nobj)
erts_smp_proc_lock(p, ERTS_PROC_LOCK_STATUS);
p->gcstatus = p->status;
p->status = P_GARBING;
+ erts_smp_proc_unlock(p, ERTS_PROC_LOCK_STATUS);
+
if (erts_system_monitor_long_gc != 0) {
get_now(&ms1, &s1, &us1);
}
- erts_smp_proc_unlock(p, ERTS_PROC_LOCK_STATUS);
ERTS_CHK_OFFHEAP(p);