Commit 082dcbb
committed
Fix resumed_coroutines assertion: remove reactor tick from libuv_io_close
libuv_io_close called libuv_reactor_execute() with SCHEDULER_CONTEXT=true
to process the uv_close callback. During uv_run(), other callbacks could
resume coroutines which pushed to resumed_coroutines. After restoring
scheduler context to false, resumed_coroutines was never drained, causing
the assertion "resumed_coroutines should be 0" in fiber_entry.
Fix: remove the reactor tick entirely from io_close. The uv_close callback
will be processed during the next regular reactor tick in the scheduler loop.1 parent 565c95f commit 082dcbb
1 file changed
Lines changed: 0 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3862 | 3862 | | |
3863 | 3863 | | |
3864 | 3864 | | |
3865 | | - | |
3866 | 3865 | | |
3867 | 3866 | | |
3868 | 3867 | | |
| |||
3875 | 3874 | | |
3876 | 3875 | | |
3877 | 3876 | | |
3878 | | - | |
3879 | 3877 | | |
3880 | 3878 | | |
3881 | 3879 | | |
3882 | 3880 | | |
3883 | | - | |
3884 | 3881 | | |
3885 | 3882 | | |
3886 | 3883 | | |
| |||
3896 | 3893 | | |
3897 | 3894 | | |
3898 | 3895 | | |
3899 | | - | |
3900 | | - | |
3901 | | - | |
3902 | | - | |
3903 | | - | |
3904 | | - | |
3905 | 3896 | | |
3906 | 3897 | | |
3907 | 3898 | | |
| |||
0 commit comments