aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_hl_timer.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-12-28 18:21:44 +0100
committerRickard Green <[email protected]>2016-12-28 19:21:07 +0100
commit3eef3cd38c6beb48bfe4c2e26ede2ab2d107c146 (patch)
treeeae3b1d8778d486f3a1125116790e4ea0c7e17bf /erts/emulator/beam/erl_hl_timer.c
parent3473ecd83a7bbe7e0bebb865f25dddb93e3bf10f (diff)
downloadotp-3eef3cd38c6beb48bfe4c2e26ede2ab2d107c146.tar.gz
otp-3eef3cd38c6beb48bfe4c2e26ede2ab2d107c146.tar.bz2
otp-3eef3cd38c6beb48bfe4c2e26ede2ab2d107c146.zip
Fix crash due to GC of node entry on dirty scheduler
The dirty scheduler failed to set a timer. Dispatch this job to an ordinary scheduler.
Diffstat (limited to 'erts/emulator/beam/erl_hl_timer.c')
-rw-r--r--erts/emulator/beam/erl_hl_timer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_hl_timer.c b/erts/emulator/beam/erl_hl_timer.c
index d29d079fc5..38bebc7576 100644
--- a/erts/emulator/beam/erl_hl_timer.c
+++ b/erts/emulator/beam/erl_hl_timer.c
@@ -2666,7 +2666,7 @@ erts_start_timer_callback(ErtsMonotonicTime tmo,
tmo);
twt = tmo < ERTS_TIMER_WHEEL_MSEC;
- if (esdp)
+ if (esdp && !ERTS_SCHEDULER_IS_DIRTY(esdp))
start_callback_timer(esdp,
twt,
timeout_pos,