diff options
author | Rickard Green <[email protected]> | 2010-11-18 13:45:12 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2010-11-18 13:45:12 +0100 |
commit | 45fb0ee83f92b8686955cebae038b3f930bf59e9 (patch) | |
tree | c4b1ccaa18f6a8676142c489c9e783e774adb1ef /erts/emulator/beam | |
parent | 839dcbfe1285b292c4208c696ceae4b22c46aff7 (diff) | |
parent | e642533d9d772f8353e02aaa08615e6b0fd53ebf (diff) | |
download | otp-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')
-rw-r--r-- | erts/emulator/beam/erl_process.c | 6 |
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 |