]> granicus.if.org Git - php/commitdiff
Make zend_execute_scripts() reentrant
authorZeev Suraski <zeev@php.net>
Mon, 7 May 2001 11:08:18 +0000 (11:08 +0000)
committerZeev Suraski <zeev@php.net>
Mon, 7 May 2001 11:08:18 +0000 (11:08 +0000)
Zend/zend.c

index 61260dbe592e44229d2e1bb29da4afbd1788f0fe..bbbe0ac0cb7d27c9b2cf7eec740ed6400a265fdc 100644 (file)
@@ -734,6 +734,7 @@ ZEND_API int zend_execute_scripts(int type CLS_DC ELS_DC, int file_count, ...)
        va_list files;
        int i;
        zend_file_handle *file_handle;
+       zend_op_array *orig_op_array = EG(active_op_array);
 
        va_start(files, file_count);
        for (i=0; i<file_count; i++) {
@@ -752,10 +753,12 @@ ZEND_API int zend_execute_scripts(int type CLS_DC ELS_DC, int file_count, ...)
                        efree(EG(active_op_array));
                } else if (type==ZEND_REQUIRE) {
                        va_end(files);
+                       EG(active_op_array) = orig_op_array;
                        return FAILURE;
                }
        }
        va_end(files);
+       EG(active_op_array) = orig_op_array;
 
        return SUCCESS;
 }