diff options
author | Johannes Schlüter <johannes@schlueters.de> | 2012-04-05 18:46:52 +0200 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2012-04-11 20:21:59 -0700 |
commit | ea3e0d5a7370df63af9372780b91a749fda773b1 (patch) | |
tree | 7053357781ef2bbcd0615ab9a54e531e23e180bf | |
parent | 7495c5e1d404d251d8c9c521fd80c85cd4e2fad1 (diff) | |
download | php-git-ea3e0d5a7370df63af9372780b91a749fda773b1.tar.gz |
Copy default properties of internal classes for different threads
-rw-r--r-- | Zend/zend_API.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 71feccf9ff..98a33e5445 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1093,7 +1093,12 @@ ZEND_API void object_properties_init(zend_object *object, zend_class_entry *clas for (i = 0; i < class_type->default_properties_count; i++) { object->properties_table[i] = class_type->default_properties_table[i]; if (class_type->default_properties_table[i]) { +#if ZTS + ALLOC_ZVAL( object->properties_table[i]); + MAKE_COPY_ZVAL(&class_type->default_properties_table[i], object->properties_table[i]); +#else Z_ADDREF_P(object->properties_table[i]); +#endif } } object->properties = NULL; |