Skip to content

Commit 3078c09

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 082dcbb + 6fe562f commit 3078c09

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

scheduler.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,22 @@ static void fiber_context_cleanup(zend_fiber_context *context);
8686
/// MODULE INIT/SHUTDOWN
8787
///////////////////////////////////////////////////////////
8888

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+
89102
void async_scheduler_startup(void)
90103
{
104+
zend_async_reactor_tick_fn = async_reactor_tick;
91105
}
92106

93107
void async_scheduler_shutdown(void)

0 commit comments

Comments
 (0)