aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2010-01-19 13:21:37 +0000
committerErlang/OTP <[email protected]>2010-01-19 13:21:37 +0000
commitcd1a07009858ba01a2a095ffb9f863d2225e572c (patch)
treec18a93e4ff82c9dba738bffbbfe53d05f6946ab7 /erts/emulator/beam/erl_process.c
parent74d7b1b942c6f1d984e263f6675a9423197a3215 (diff)
downloadotp-cd1a07009858ba01a2a095ffb9f863d2225e572c.tar.gz
otp-cd1a07009858ba01a2a095ffb9f863d2225e572c.tar.bz2
otp-cd1a07009858ba01a2a095ffb9f863d2225e572c.zip
OTP-8342 Processes, and/or ports could get stuck on a blocked scheduler
when erlang:system_flag(multi_scheduling, block) was used. Processes, and/or ports could get stuck on an offline scheduler when schedulers online were reduced using erlang:system_flag(schedulers_online, SchedulersOnline).
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 5f512a9982..476e29d96f 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -5517,6 +5517,8 @@ erts_proc_migrate(Process *p, ErtsProcLocks *plcks,
p->run_queue = to_rq;
enqueue_process(to_rq, p);
+ smp_notify_inc_runq(to_rq);
+
return ERTS_MIGRATE_SUCCESS;
}
#endif /* ERTS_SMP */