]> granicus.if.org Git - php/commitdiff
ZTS fixes
authorSebastian Bergmann <sebastian@php.net>
Sun, 16 Feb 2003 11:34:49 +0000 (11:34 +0000)
committerSebastian Bergmann <sebastian@php.net>
Sun, 16 Feb 2003 11:34:49 +0000 (11:34 +0000)
Zend/zend.c
Zend/zend_API.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_execute.c
Zend/zend_execute_API.c

index e3b538a3e21c5ba61b0783705788b61456854395..aba1f37e64ca7ec89ca3a5acaaa1f7f2c0dfc05b 100644 (file)
@@ -370,7 +370,7 @@ static FILE *zend_fopen_wrapper(const char *filename, char **opened_path)
 }
 
 
-static void register_standard_class(void)
+static void register_standard_class(TSRMLS_D)
 {
        zend_standard_class_def = malloc(sizeof(zend_class_entry));
 
@@ -378,7 +378,7 @@ static void register_standard_class(void)
        zend_standard_class_def->name = zend_strndup("stdClass", zend_standard_class_def->name_length);
        zend_standard_class_def->name_length = sizeof("stdClass") - 1;
        zend_standard_class_def->parent = NULL;
-       zend_initialize_class_data(zend_standard_class_def, 1);
+       zend_initialize_class_data(zend_standard_class_def, 1 TSRMLS_CC);
 
        zend_hash_add(GLOBAL_CLASS_TABLE, "stdclass", sizeof("stdclass"), &zend_standard_class_def, sizeof(zend_class_entry *), NULL);
 }
@@ -560,7 +560,6 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, i
        zend_hash_init_ex(GLOBAL_FUNCTION_TABLE, 100, NULL, ZEND_FUNCTION_DTOR, 1, 0);
        zend_hash_init_ex(GLOBAL_CLASS_TABLE, 10, NULL, ZEND_CLASS_DTOR, 1, 0);
 
-       register_standard_class();
        zend_hash_init_ex(&module_registry, 50, NULL, ZEND_MODULE_DTOR, 1, 0);
        zend_init_rsrc_list_dtors();
 
@@ -597,6 +596,7 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, i
        EG(user_error_handler) = NULL;
        EG(user_exception_handler) = NULL;
 #endif
+       register_standard_class(TSRMLS_C);
        zend_register_standard_constants(TSRMLS_C);
 
 #ifndef ZTS
index ea58f986101d5f6089040d93f40d1ef30c29ad3a..b772b15c74d71ec1c7c64b996e5f1b5b33b7641e 100644 (file)
@@ -1360,7 +1360,7 @@ ZEND_API zend_class_entry *zend_register_internal_class(zend_class_entry *orig_c
 
        class_entry->type = ZEND_INTERNAL_CLASS;
        class_entry->parent = NULL;
-       zend_initialize_class_data(class_entry, 0);
+       zend_initialize_class_data(class_entry, 0 TSRMLS_CC);
 
        if (class_entry->builtin_functions) {
                zend_register_functions(class_entry, class_entry->builtin_functions, &class_entry->function_table, MODULE_PERSISTENT TSRMLS_CC);
index c103be1cc3bfb1e4599711e4bcc65d7b045db7c1..815770e441a08a765e505e8a1dd39a9aa945fba8 100644 (file)
@@ -1663,7 +1663,7 @@ void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce)
        do_inherit_parent_constructor(ce);
 }
 
-static void create_class(HashTable *class_table, char *name, int name_length, zend_class_entry **ce)
+static void create_class(HashTable *class_table, char *name, int name_length, zend_class_entry **ce TSRMLS_DC)
 {
        zend_class_entry *new_class_entry;
 
@@ -1674,7 +1674,7 @@ static void create_class(HashTable *class_table, char *name, int name_length, ze
        new_class_entry->name = estrndup(name, name_length);
        new_class_entry->name_length = name_length;
        new_class_entry->parent = NULL;
-       zend_initialize_class_data(new_class_entry, 1);
+       zend_initialize_class_data(new_class_entry, 1 TSRMLS_CC);
 
        zend_str_tolower(new_class_entry->name, new_class_entry->name_length);
 
@@ -1686,7 +1686,7 @@ static void create_class(HashTable *class_table, char *name, int name_length, ze
 
 #include "../TSRM/tsrm_strtok_r.h"
 
-static int create_nested_class(HashTable *class_table, char *path, zend_class_entry *new_ce)
+static int create_nested_class(HashTable *class_table, char *path, zend_class_entry *new_ce TSRMLS_DC)
 {
        char *cur, *temp;
        char *last;
@@ -1696,7 +1696,7 @@ static int create_nested_class(HashTable *class_table, char *path, zend_class_en
        cur = tsrm_strtok_r(path, ":", &temp);
 
        if (zend_hash_find(class_table, cur, strlen(cur)+1, (void **)&pce) == FAILURE) {
-               create_class(class_table, cur, strlen(cur), &ce);
+               create_class(class_table, cur, strlen(cur), &ce TSRMLS_CC);
        } else {
                ce = *pce;
        }
@@ -1709,7 +1709,7 @@ static int create_nested_class(HashTable *class_table, char *path, zend_class_en
                        break;
                }
                if (zend_hash_find(&ce->class_table, last, strlen(last)+1, (void **)&pce) == FAILURE) {
-                       create_class(&ce->class_table, last, strlen(last), &ce);
+                       create_class(&ce->class_table, last, strlen(last), &ce TSRMLS_CC);
                } else {
                        ce = *pce;
                }
@@ -1756,7 +1756,7 @@ ZEND_API int do_bind_function(zend_op *opline, HashTable *function_table, HashTa
 }
                        
 
-ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table)
+ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table TSRMLS_DC)
 {
        zend_class_entry *ce, **pce;
 
@@ -1767,7 +1767,7 @@ ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable
                ce = *pce;
        }
        if (strchr(opline->op2.u.constant.value.str.val, ':')) {
-               return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce);
+               return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce TSRMLS_CC);
        }
        ce->refcount++;
        if (zend_hash_add(class_table, opline->op2.u.constant.value.str.val, opline->op2.u.constant.value.str.len+1, &ce, sizeof(zend_class_entry *), NULL)==FAILURE) {
@@ -1779,7 +1779,7 @@ ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable
        }
 }
 
-ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce)
+ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce TSRMLS_DC)
 {
        zend_class_entry *ce, **pce;
        int found_ce;
@@ -1796,7 +1796,7 @@ ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table,
        zend_do_inheritance(ce, parent_ce);
 
        if (strchr(opline->op2.u.constant.value.str.val, ':')) {
-               return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce);
+               return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce TSRMLS_CC);
        }
 
        ce->refcount++;
@@ -2136,7 +2136,7 @@ void zend_do_begin_class_declaration(znode *class_token, znode *class_name, znod
 
        new_class_entry->type = ZEND_USER_CLASS;
        new_class_entry->parent = NULL;
-       zend_initialize_class_data(new_class_entry, 1);
+       zend_initialize_class_data(new_class_entry, 1 TSRMLS_CC);
 
        if (parent_class_name->op_type != IS_UNUSED) {
                doing_inheritance = 1;
@@ -3289,7 +3289,7 @@ void zend_do_declare_namespace_constant(znode *var_name, znode *value TSRMLS_DC)
        FREE_PNODE(var_name);
 }
 
-void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers)
+void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers TSRMLS_DC)
 {
        zend_bool persistent_hashes = (ce->type == ZEND_INTERNAL_CLASS) ? 1 : 0;
 
index a43501ad36a334dd9bc6fb9300e0da09b2bbac32..aec37e015932394fcd4bd906cb2514e6fdaa7ba9 100644 (file)
@@ -336,8 +336,8 @@ void zend_do_end_catch(znode *try_token TSRMLS_DC);
 void zend_do_throw(znode *expr TSRMLS_DC);
 
 ZEND_API int do_bind_function(zend_op *opline, HashTable *function_table, HashTable *class_table, int compile_time);
-ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table);
-ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce);
+ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table TSRMLS_DC);
+ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce TSRMLS_DC);
 
 void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce);
 void zend_do_early_binding(TSRMLS_D);
@@ -470,7 +470,7 @@ int pass_two(zend_op_array *op_array TSRMLS_DC);
 zend_brk_cont_element *get_next_brk_cont_element(zend_op_array *op_array);
 ZEND_API zend_bool zend_is_compiling(TSRMLS_D);
 ZEND_API char *zend_make_compiled_string_description(char *name TSRMLS_DC);
-void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers);
+void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers TSRMLS_DC);
 
 
 int zend_register_auto_global(char *name, uint name_len TSRMLS_DC);
index 4caed9cb1c0dd9db94c1e737c26f9613a889f0de..8fa5402c739f46a94777037e51e03194f6024db9 100644 (file)
@@ -3868,14 +3868,14 @@ int zend_ext_fcall_end_handler(ZEND_OPCODE_HANDLER_ARGS)
 
 int zend_declare_class_handler(ZEND_OPCODE_HANDLER_ARGS)
 {
-       do_bind_class(EX(opline), EG(function_table), EG(class_table));
+       do_bind_class(EX(opline), EG(function_table), EG(class_table) TSRMLS_CC);
        NEXT_OPCODE();
 }
 
 
 int zend_declare_inherited_class_handler(ZEND_OPCODE_HANDLER_ARGS)
 {
-       do_bind_inherited_class(EX(opline), EG(function_table), EG(class_table), EX_T(EX(opline)->extended_value).EA.class_entry);
+       do_bind_inherited_class(EX(opline), EG(function_table), EG(class_table), EX_T(EX(opline)->extended_value).EA.class_entry TSRMLS_CC);
        NEXT_OPCODE();
 }
 
index 77d43788e2f094873ede1a9d63e5c762c0ce9e3a..0b1020a7b1746af36cfd4ac4807e477637d2a1cf 100644 (file)
@@ -194,7 +194,7 @@ void shutdown_executor(TSRMLS_D)
 {
        /* return to global namespace here */
        if(EG(active_namespace) != EG(global_namespace_ptr)) {
-               zend_switch_namespace(EG(global_namespace_ptr));
+               zend_switch_namespace(EG(global_namespace_ptr) TSRMLS_CC);
        }
 
        zend_try {