aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-06-08 15:36:07 +0200
committerRickard Green <[email protected]>2016-06-08 15:36:07 +0200
commit8de8b36d4a19a79dd1bd1b49a4c394348edd9eac (patch)
tree2e59ec2743f3bcfe7629fcbc7b199ffebc8eed89 /erts/emulator/beam/erl_process.c
parentce33a24033cc8c4cea735b5f2898708ce34f546d (diff)
parent77192f7f32d4bbe293a6e8cb9da79b8a6dd6b181 (diff)
downloadotp-8de8b36d4a19a79dd1bd1b49a4c394348edd9eac.tar.gz
otp-8de8b36d4a19a79dd1bd1b49a4c394348edd9eac.tar.bz2
otp-8de8b36d4a19a79dd1bd1b49a4c394348edd9eac.zip
Merge branch 'rickard/misc-ds'
* rickard/misc-ds: Replace enif_is_on_dirty_scheduler() with enif_thread_type() No GC on dirty IO schedulers
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index c0b1d7246c..5193be85b4 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -10082,7 +10082,7 @@ Process *erts_schedule(ErtsSchedulerData *esdp, Process *p, int calls)
}
}
- if (ERTS_IS_GC_DESIRED(p)) {
+ if (ERTS_IS_GC_DESIRED(p) && !ERTS_SCHEDULER_IS_DIRTY_IO(esdp)) {
if (!(state & ERTS_PSFLG_EXITING) && !(p->flags & (F_DELAY_GC|F_DISABLE_GC))) {
int cost = scheduler_gc_proc(p, reds);
calls += cost;