@@ -42,6 +42,16 @@ static void enqueue_coroutine(zend_coroutine_t *coroutine)
4242 ASYNC_THROW_ERROR ("Async API is not enabled" );
4343}
4444
45+ static void engine_shutdown_stub (void ) {}
46+
47+ static void shutdown_stub (void ) {}
48+
49+ static zend_array * get_coroutines_stub (void ) { return NULL ; }
50+
51+ static void add_microtask_stub (zend_async_microtask_t * microtask ) {}
52+
53+ static zend_array * get_awaiting_info_stub (zend_coroutine_t * coroutine ) { return NULL ; }
54+
4555static bool spawn_and_throw (zend_object * exception , zend_async_scope_t * scope , int32_t priority )
4656{
4757 ASYNC_THROW_ERROR ("Async API is not enabled" );
@@ -81,11 +91,11 @@ zend_async_enqueue_coroutine_t zend_async_enqueue_coroutine_fn = enqueue_corouti
8191zend_async_resume_t zend_async_resume_fn = NULL ;
8292zend_async_cancel_t zend_async_cancel_fn = NULL ;
8393zend_async_spawn_and_throw_t zend_async_spawn_and_throw_fn = spawn_and_throw ;
84- zend_async_shutdown_t zend_async_shutdown_fn = NULL ;
85- zend_async_engine_shutdown_t zend_async_engine_shutdown_fn = NULL ;
86- zend_async_get_coroutines_t zend_async_get_coroutines_fn = NULL ;
87- zend_async_add_microtask_t zend_async_add_microtask_fn = NULL ;
88- zend_async_get_awaiting_info_t zend_async_get_awaiting_info_fn = NULL ;
94+ zend_async_shutdown_t zend_async_shutdown_fn = shutdown_stub ;
95+ zend_async_engine_shutdown_t zend_async_engine_shutdown_fn = engine_shutdown_stub ;
96+ zend_async_get_coroutines_t zend_async_get_coroutines_fn = get_coroutines_stub ;
97+ zend_async_add_microtask_t zend_async_add_microtask_fn = add_microtask_stub ;
98+ zend_async_get_awaiting_info_t zend_async_get_awaiting_info_fn = get_awaiting_info_stub ;
8999zend_async_get_class_ce_t zend_async_get_class_ce_fn = get_class_ce ;
90100
91101static zend_atomic_bool reactor_lock = {0 };
0 commit comments