@@ -41,11 +41,11 @@ typedef struct _zend_observer_fcall_data {
4141zend_llist zend_observers_fcall_list ;
4242zend_llist zend_observer_error_callbacks ;
4343
44- int zend_observer_fcall_op_array_extension = -1 ;
44+ int zend_observer_fcall_op_array_extension ;
4545
46- ZEND_TLS zend_arena * fcall_handlers_arena = NULL ;
47- ZEND_TLS zend_execute_data * first_observed_frame = NULL ;
48- ZEND_TLS zend_execute_data * current_observed_frame = NULL ;
46+ ZEND_TLS zend_arena * fcall_handlers_arena ;
47+ ZEND_TLS zend_execute_data * first_observed_frame ;
48+ ZEND_TLS zend_execute_data * current_observed_frame ;
4949
5050// Call during minit/startup ONLY
5151ZEND_API void zend_observer_fcall_register (zend_observer_fcall_init init ) {
@@ -72,12 +72,18 @@ ZEND_API void zend_observer_fcall_register(zend_observer_fcall_init init) {
7272ZEND_API void zend_observer_startup (void ) {
7373 zend_llist_init (& zend_observers_fcall_list , sizeof (zend_observer_fcall_init ), NULL , 1 );
7474 zend_llist_init (& zend_observer_error_callbacks , sizeof (zend_observer_error_cb ), NULL , 1 );
75+
76+ zend_observer_fcall_op_array_extension = -1 ;
7577}
7678
7779ZEND_API void zend_observer_activate (void ) {
7880 if (ZEND_OBSERVER_ENABLED ) {
7981 fcall_handlers_arena = zend_arena_create (4096 );
82+ } else {
83+ fcall_handlers_arena = NULL ;
8084 }
85+ first_observed_frame = NULL ;
86+ current_observed_frame = NULL ;
8187}
8288
8389ZEND_API void zend_observer_deactivate (void ) {
0 commit comments