diff options
author | Marcus Boerger <helly@php.net> | 2008-08-24 16:49:19 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2008-08-24 16:49:19 +0000 |
commit | ce2f9bb0cf96fbb2aad317d8c9b6d947165ab02c (patch) | |
tree | 65d326eb144623936e3e94437de14b79b232340d /Zend/zend_objects_API.h | |
parent | 0edbdd76808e1f5ed862c4e09faf2115a7ed2988 (diff) | |
download | php-git-ce2f9bb0cf96fbb2aad317d8c9b6d947165ab02c.tar.gz |
- MFH Fix issue with destruction of overloaded objects
Diffstat (limited to 'Zend/zend_objects_API.h')
-rw-r--r-- | Zend/zend_objects_API.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h index f89ff24251..ed510f5eb9 100644 --- a/Zend/zend_objects_API.h +++ b/Zend/zend_objects_API.h @@ -37,6 +37,7 @@ typedef struct _zend_object_store_bucket { zend_objects_store_dtor_t dtor; zend_objects_free_object_storage_t free_storage; zend_objects_store_clone_t clone; + const zend_object_handlers *handlers; zend_uint refcount; gc_root_buffer *buffered; } obj; @@ -66,7 +67,10 @@ ZEND_API zend_object_handle zend_objects_store_put(void *object, zend_objects_st ZEND_API void zend_objects_store_add_ref(zval *object TSRMLS_DC); ZEND_API void zend_objects_store_del_ref(zval *object TSRMLS_DC); ZEND_API void zend_objects_store_add_ref_by_handle(zend_object_handle handle TSRMLS_DC); -ZEND_API void zend_objects_store_del_ref_by_handle(zend_object_handle handle TSRMLS_DC); +ZEND_API void zend_objects_store_del_ref_by_handle_ex(zend_object_handle handle, const zend_object_handlers *handlers TSRMLS_DC); +static inline void zend_objects_store_del_ref_by_handle(zend_object_handle handle TSRMLS_DC) { + zend_objects_store_del_ref_by_handle_ex(handle, NULL TSRMLS_CC); +} ZEND_API zend_uint zend_objects_store_get_refcount(zval *object TSRMLS_DC); ZEND_API zend_object_value zend_objects_store_clone_obj(zval *object TSRMLS_DC); ZEND_API void *zend_object_store_get_object(const zval *object TSRMLS_DC); |