File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -1101,13 +1101,19 @@ unsigned select_process_completions(struct IO_Event_Selector_URing *selector) {
11011101 }
11021102
11031103 io_uring_cq_advance (ring , 1 );
1104- // This marks the waiting operation as "complete":
1105- IO_Event_Selector_URing_Completion_release (selector , completion );
11061104
1105+ VALUE fiber = 0 ;
11071106 if (waiting && waiting -> fiber ) {
11081107 assert (waiting -> result != - ECANCELED );
11091108
1110- IO_Event_Selector_loop_resume (& selector -> backend , waiting -> fiber , 0 , NULL );
1109+ fiber = waiting -> fiber ;
1110+ }
1111+
1112+ // This marks the waiting operation as "complete":
1113+ IO_Event_Selector_URing_Completion_release (selector , completion );
1114+
1115+ if (fiber ) {
1116+ IO_Event_Selector_loop_resume (& selector -> backend , fiber , 0 , NULL );
11111117 }
11121118 }
11131119
You can’t perform that action at this time.
0 commit comments