aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2011-09-13 10:24:33 +0200
committerBjörn-Egil Dahlberg <[email protected]>2011-09-13 10:24:33 +0200
commit7b5a8a65d1f4e8070fd1d771a79b7b5237100c63 (patch)
treed15f6baa8124a27a67cbc6f5b60c3cb4f87128e9 /erts/emulator
parente63392eac334e253824b430bc4edbbbd94b65be8 (diff)
parenta40655461a03f6b075a1140810f020f5b2bf35b1 (diff)
downloadotp-7b5a8a65d1f4e8070fd1d771a79b7b5237100c63.tar.gz
otp-7b5a8a65d1f4e8070fd1d771a79b7b5237100c63.tar.bz2
otp-7b5a8a65d1f4e8070fd1d771a79b7b5237100c63.zip
Merge branch 'dev' into major
* dev: Make sure we have a run_queue
Diffstat (limited to 'erts/emulator')
-rw-r--r--erts/emulator/beam/erl_process.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 3a6fe5784a..44d2683fe0 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -5788,10 +5788,13 @@ erts_sched_stat_term(Process *p, int total)
void
erts_schedule_misc_op(void (*func)(void *), void *arg)
{
- ErtsRunQueue *rq = erts_get_runq_current(NULL);
+ ErtsRunQueue *rq;
ErtsMiscOpList *molp = misc_op_list_alloc();
+ ErtsSchedulerData *esdp = erts_get_scheduler_data();
- if (!rq) {
+ if (esdp) {
+ rq = esdp->run_queue;
+ } else {
/*
* This can only happen when the sys msg dispatcher
* thread schedules misc ops (this happens *very*