this patch should fix a bug where intermediate comvals were not

released before they were freed. this caused outproc com server
to belive that they still referenced even when the php process
already terminated.
This commit is contained in:
Harald Radi 2002-04-26 18:20:45 +00:00
parent ce39ba7265
commit 51241dba94
2 changed files with 4 additions and 6 deletions

View File

@ -30,8 +30,7 @@ END_EXTERN_C()
ALLOC_HASHTABLE(properties); \
zend_hash_init(properties, 0, NULL, ZVAL_PTR_DTOR, 0); \
\
ALLOC_ZVAL(handle); \
INIT_PZVAL(handle); \
MAKE_STD_ZVAL(handle); \
ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \
\
zval_copy_ctor(handle); \
@ -46,7 +45,7 @@ END_EXTERN_C()
#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \
C_REFCOUNT(z) = 0;
#define FREE_COM(z) efree(z);
#define FREE_COM(z) php_COM_destruct(z TSRMLS_CC);
#define IS_COM php_COM_get_le_comval()

View File

@ -30,8 +30,7 @@ END_EXTERN_C()
ALLOC_HASHTABLE(properties); \
zend_hash_init(properties, 0, NULL, ZVAL_PTR_DTOR, 0); \
\
ALLOC_ZVAL(handle); \
INIT_PZVAL(handle); \
MAKE_STD_ZVAL(handle); \
ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \
\
zval_copy_ctor(handle); \
@ -46,7 +45,7 @@ END_EXTERN_C()
#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \
C_REFCOUNT(z) = 0;
#define FREE_COM(z) efree(z);
#define FREE_COM(z) php_COM_destruct(z TSRMLS_CC);
#define IS_COM php_COM_get_le_comval()