diff options
author | Rickard Green <[email protected]> | 2016-12-28 18:21:44 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2016-12-28 19:21:07 +0100 |
commit | 3eef3cd38c6beb48bfe4c2e26ede2ab2d107c146 (patch) | |
tree | eae3b1d8778d486f3a1125116790e4ea0c7e17bf | |
parent | 3473ecd83a7bbe7e0bebb865f25dddb93e3bf10f (diff) | |
download | otp-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.
-rw-r--r-- | erts/emulator/beam/erl_hl_timer.c | 2 |
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, |