@@ -41,11 +41,11 @@ typedef struct _zend_observer_fcall_data {
41
41
zend_llist zend_observers_fcall_list ;
42
42
zend_llist zend_observer_error_callbacks ;
43
43
44
- int zend_observer_fcall_op_array_extension = -1 ;
44
+ int zend_observer_fcall_op_array_extension ;
45
45
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 ;
49
49
50
50
// Call during minit/startup ONLY
51
51
ZEND_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) {
72
72
ZEND_API void zend_observer_startup (void ) {
73
73
zend_llist_init (& zend_observers_fcall_list , sizeof (zend_observer_fcall_init ), NULL , 1 );
74
74
zend_llist_init (& zend_observer_error_callbacks , sizeof (zend_observer_error_cb ), NULL , 1 );
75
+
76
+ zend_observer_fcall_op_array_extension = -1 ;
75
77
}
76
78
77
79
ZEND_API void zend_observer_activate (void ) {
78
80
if (ZEND_OBSERVER_ENABLED ) {
79
81
fcall_handlers_arena = zend_arena_create (4096 );
82
+ } else {
83
+ fcall_handlers_arena = NULL ;
80
84
}
85
+ first_observed_frame = NULL ;
86
+ current_observed_frame = NULL ;
81
87
}
82
88
83
89
ZEND_API void zend_observer_deactivate (void ) {
0 commit comments