We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 082dcbb + 6fe562f commit 3078c09Copy full SHA for 3078c09
1 file changed
scheduler.c
@@ -86,8 +86,22 @@ static void fiber_context_cleanup(zend_fiber_context *context);
86
/// MODULE INIT/SHUTDOWN
87
///////////////////////////////////////////////////////////
88
89
+static zend_always_inline void process_resumed_coroutines(void);
90
+
91
+static void async_reactor_tick(void)
92
+{
93
+ ZEND_ASYNC_SCHEDULER_CONTEXT = true;
94
+ ZEND_ASYNC_REACTOR_EXECUTE(true);
95
+ ZEND_ASYNC_SCHEDULER_CONTEXT = false;
96
97
+ if (circular_buffer_is_not_empty(&ASYNC_G(resumed_coroutines))) {
98
+ process_resumed_coroutines();
99
+ }
100
+}
101
102
void async_scheduler_startup(void)
103
{
104
+ zend_async_reactor_tick_fn = async_reactor_tick;
105
}
106
107
void async_scheduler_shutdown(void)
0 commit comments