aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2010-11-18 13:45:12 +0100
committerRickard Green <[email protected]>2010-11-18 13:45:12 +0100
commit45fb0ee83f92b8686955cebae038b3f930bf59e9 (patch)
treec4b1ccaa18f6a8676142c489c9e783e774adb1ef /erts/emulator/beam/erl_process.c
parent839dcbfe1285b292c4208c696ceae4b22c46aff7 (diff)
parente642533d9d772f8353e02aaa08615e6b0fd53ebf (diff)
downloadotp-45fb0ee83f92b8686955cebae038b3f930bf59e9.tar.gz
otp-45fb0ee83f92b8686955cebae038b3f930bf59e9.tar.bz2
otp-45fb0ee83f92b8686955cebae038b3f930bf59e9.zip
Merge branch 'rickard/sys_schedule_debug' into dev
* rickard/sys_schedule_debug: Verify that no outstanding I/O exist when checking for I/O in debug build
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index f6afc066ce..799f1a3cc9 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -1060,6 +1060,8 @@ scheduler_wait(long *fcalls, ErtsSchedulerData *esdp, ErtsRunQueue *rq)
sys_poll_aux_work:
+ ASSERT(!erts_port_task_have_outstanding_io_tasks());
+
erl_sys_schedule(1); /* Might give us something to do */
dt = do_time_read_and_reset();
@@ -1155,6 +1157,8 @@ scheduler_wait(long *fcalls, ErtsSchedulerData *esdp, ErtsRunQueue *rq)
erts_smp_runq_unlock(rq);
+ ASSERT(!erts_port_task_have_outstanding_io_tasks());
+
erl_sys_schedule(0);
dt = do_time_read_and_reset();
@@ -7165,7 +7169,9 @@ Process *schedule(Process *p, int calls)
erts_smp_atomic_set(&function_calls, 0);
fcalls = 0;
+
ASSERT(!erts_port_task_have_outstanding_io_tasks());
+
#ifdef ERTS_SMP
/* erts_sys_schedule_interrupt(0); */
#endif