@@ -3798,6 +3798,16 @@ static int accel_preload(const char *config)
3798
3798
return ret ;
3799
3799
}
3800
3800
3801
+ size_t preload_ub_write (const char * str , size_t str_length )
3802
+ {
3803
+ return fwrite (str , 1 , str_length , stdout );
3804
+ }
3805
+
3806
+ void preload_flush (void * server_context )
3807
+ {
3808
+ fflush (stdout );
3809
+ }
3810
+
3801
3811
static int accel_finish_startup (void )
3802
3812
{
3803
3813
if (!ZCG (enabled ) || !accel_startup_ok ) {
@@ -3814,6 +3824,8 @@ static int accel_finish_startup(void)
3814
3824
int (* orig_send_headers )(sapi_headers_struct * sapi_headers TSRMLS_DC ) = sapi_module .send_headers ;
3815
3825
void (* orig_send_header )(sapi_header_struct * sapi_header , void * server_context TSRMLS_DC )= sapi_module .send_header ;
3816
3826
char * (* orig_getenv )(char * name , size_t name_len TSRMLS_DC ) = sapi_module .getenv ;
3827
+ size_t (* orig_ub_write )(const char * str , size_t str_length ) = sapi_module .ub_write ;
3828
+ void (* orig_flush )(void * server_context ) = sapi_module .flush ;
3817
3829
#ifdef ZEND_SIGNALS
3818
3830
zend_bool old_reset_signals = SIGG (reset );
3819
3831
#endif
@@ -3841,6 +3853,8 @@ static int accel_finish_startup(void)
3841
3853
sapi_module .send_headers = NULL ;
3842
3854
sapi_module .send_header = NULL ;
3843
3855
sapi_module .getenv = NULL ;
3856
+ sapi_module .ub_write = preload_ub_write ;
3857
+ sapi_module .flush = preload_flush ;
3844
3858
3845
3859
zend_interned_strings_switch_storage (1 );
3846
3860
@@ -3884,6 +3898,8 @@ static int accel_finish_startup(void)
3884
3898
sapi_module .send_headers = orig_send_headers ;
3885
3899
sapi_module .send_header = orig_send_header ;
3886
3900
sapi_module .getenv = orig_getenv ;
3901
+ sapi_module .ub_write = orig_ub_write ;
3902
+ sapi_module .flush = orig_flush ;
3887
3903
3888
3904
zend_shared_alloc_unlock ();
3889
3905
0 commit comments