@@ -42,6 +42,16 @@ static void enqueue_coroutine(zend_coroutine_t *coroutine)
42
42
ASYNC_THROW_ERROR ("Async API is not enabled" );
43
43
}
44
44
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
+
45
55
static bool spawn_and_throw (zend_object * exception , zend_async_scope_t * scope , int32_t priority )
46
56
{
47
57
ASYNC_THROW_ERROR ("Async API is not enabled" );
@@ -81,11 +91,11 @@ zend_async_enqueue_coroutine_t zend_async_enqueue_coroutine_fn = enqueue_corouti
81
91
zend_async_resume_t zend_async_resume_fn = NULL ;
82
92
zend_async_cancel_t zend_async_cancel_fn = NULL ;
83
93
zend_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 ;
89
99
zend_async_get_class_ce_t zend_async_get_class_ce_fn = get_class_ce ;
90
100
91
101
static zend_atomic_bool reactor_lock = {0 };
0 commit comments