It is my mistake. There are two macroses ZEND_FAST_FREE
#define ZEND_FAST_FREE(p, fc_type) \
{ \
TSRMLS_FETCH(); \
\
((zend_fast_cache_list_entry *) (p))->next = (zend_fast_cache_list_entry *)
AG(fast_cache_list_head)[fc_type]; \
AG(fast_cache_list_head)[fc_type] = (zend_fast_cache_list_entry *) (p); \
}
and
#define ZEND_FAST_FREE(p, fc_type) \
efree(p)
Depends on that is ZEND_ENABLE_FAST_CACHE is on.
The first one is not freeing any memory the second one is.
Regards,
Andrey
----- Original Message -----
From: "Klaus Reimer" <[EMAIL PROTECTED]>
To: "Andrey Hristov" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, March 12, 2002 3:07 PM
Subject: Re: [PHP-DEV] FREE_ZVAL and/or zval_dtor()
> Hi,
>
> On Tuesday 12 March 2002 14:01, Andrey Hristov wrote:
> > As far as I see FREE_ZVAL is ZEND_FAST_FREE and the latter is not freeing
> > memory just removes the zval from a list. So it is required to release the
> > memory before that. Fix me if I'm wrong.
>
> FREE_ZVAL calls ZEND_FAST_FREE, that's correct. But ZEND_FAST_FREE does call
> efree(). So I'm pretty sure, thtat FREE_ZVAL does release the memory of the
> zval, which has been allocated by using MAKE_STD_ZVAL (which calls ALLOC_ZVAL
> which calls ZVAL_FAST_ALLOC which calls emalloc()).
>
> --
> Bye, K <http://www.ailis.de/~k/>
> [A735 47EC D87B 1F15 C1E9 53D3 AA03 6173 A723 E391]
> (Finger [EMAIL PROTECTED] to get public key)
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php