diff options
author | Ingela Anderton Andin <[email protected]> | 2014-01-28 11:06:43 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2014-01-28 11:06:43 +0100 |
commit | bb5b33bd3a7c8cbb97695c00f4b9b0d89121f861 (patch) | |
tree | 94dae2ff490c4193df939fc85927ac63af9542e1 /erts/emulator/beam/erl_process.c | |
parent | 75bfbe5a61fa1a1dd204fdb21dc4bf7df8e8003d (diff) | |
parent | 2b57228dd5993321a217a89dbe601d1e90b18f33 (diff) | |
download | otp-bb5b33bd3a7c8cbb97695c00f4b9b0d89121f861.tar.gz otp-bb5b33bd3a7c8cbb97695c00f4b9b0d89121f861.tar.bz2 otp-bb5b33bd3a7c8cbb97695c00f4b9b0d89121f861.zip |
Merge branch 'master' of super:otp
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r-- | erts/emulator/beam/erl_process.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 2f383f4c01..74cd84a998 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -7603,19 +7603,13 @@ Process *schedule(Process *p, int calls) #ifdef ERTS_SMP ErtsMigrationPaths *mps; ErtsMigrationPath *mp; - -#ifdef ERTS_SMP - { - ErtsProcList *pnd_xtrs = rq->procs.pending_exiters; - if (erts_proclist_fetch(&pnd_xtrs, NULL)) { - rq->procs.pending_exiters = NULL; - erts_smp_runq_unlock(rq); - handle_pending_exiters(pnd_xtrs); - erts_smp_runq_lock(rq); - } - + ErtsProcList *pnd_xtrs = rq->procs.pending_exiters; + if (erts_proclist_fetch(&pnd_xtrs, NULL)) { + rq->procs.pending_exiters = NULL; + erts_smp_runq_unlock(rq); + handle_pending_exiters(pnd_xtrs); + erts_smp_runq_lock(rq); } -#endif if (rq->check_balance_reds <= 0) check_balance(rq); @@ -7702,6 +7696,7 @@ Process *schedule(Process *p, int calls) flags = ERTS_RUNQ_FLGS_GET_NOB(rq); if (flags & ERTS_RUNQ_FLG_SUSPENDED) { non_empty_runq(rq); + flags |= ERTS_RUNQ_FLG_NONEMPTY; goto continue_check_activities_to_run_known_flags; } } |