]> granicus.if.org Git - php/commitdiff
hmm, backing out this change, as it seems to cause problems with user-space
authorWez Furlong <wez@php.net>
Thu, 9 Jun 2005 12:15:14 +0000 (12:15 +0000)
committerWez Furlong <wez@php.net>
Thu, 9 Jun 2005 12:15:14 +0000 (12:15 +0000)
streams and filters (the ZE needs to close them before it blows away the
user-space code.

Noticed by Dmitry.  Still need to find out how to avoid double-closing streams.

main/main.c

index c4b50ba84fcdf1215e5df655fcf8522a29cfb768..bffb89fb1cc7166c6b383d2ce97e8dc2a7624616 100644 (file)
@@ -835,12 +835,10 @@ static FILE *php_fopen_wrapper_for_zend(const char *filename, char **opened_path
 }
 /* }}} */
 
-#if wez_0
 static void stream_closer_for_zend(void *handle TSRMLS_DC)
 {
        php_stream_close((php_stream*)handle);
 }
-#endif
 
 static long stream_fteller_for_zend(void *handle TSRMLS_DC)
 {
@@ -859,10 +857,7 @@ static int php_stream_open_for_zend(const char *filename, zend_file_handle *hand
                handle->free_filename = 0;
                handle->handle.stream.handle = stream;
                handle->handle.stream.reader = (zend_stream_reader_t)_php_stream_read;
-               /* don't set this; all streams are tracked as part of the resource system,
-                * and we'll end up double-free'ing them if we allow zend to close them
-                * down after the resource list has been cleaned up */
-               handle->handle.stream.closer = NULL; /* stream_closer_for_zend; */
+               handle->handle.stream.closer = stream_closer_for_zend;
                handle->handle.stream.fteller = stream_fteller_for_zend;
                handle->handle.stream.interactive = 0;
                /* suppress warning if this stream is not explicitly closed */