aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_trace.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2014-01-29 14:38:56 +0100
committerLukas Larsson <[email protected]>2014-02-24 15:16:05 +0100
commitff463a10f37ca74c0b6a8c0e24ce919e56b12bb8 (patch)
treec40571670df39e3397d8c7da4a781659e802fb09 /erts/emulator/beam/erl_trace.c
parent31c4876582acf42f77f65f0d822d4d224d642364 (diff)
downloadotp-ff463a10f37ca74c0b6a8c0e24ce919e56b12bb8.tar.gz
otp-ff463a10f37ca74c0b6a8c0e24ce919e56b12bb8.tar.bz2
otp-ff463a10f37ca74c0b6a8c0e24ce919e56b12bb8.zip
ose: Add fair scheduling yields
This is needed on OSs that do not do round robin scheduling of threads.
Diffstat (limited to 'erts/emulator/beam/erl_trace.c')
-rw-r--r--erts/emulator/beam/erl_trace.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_trace.c b/erts/emulator/beam/erl_trace.c
index 62a0b8ccea..43e7435d2a 100644
--- a/erts/emulator/beam/erl_trace.c
+++ b/erts/emulator/beam/erl_trace.c
@@ -3309,6 +3309,8 @@ sys_msg_dispatcher_func(void *unused)
if (erts_thr_progress_update(NULL))
erts_thr_progress_leader_update(NULL);
+ ERTS_SCHED_FAIR_YIELD();
+
#ifdef DEBUG_PRINTOUTS
print_msg_type(smqp);
#endif