1) If I call my extension function that creates PHP arrays and returns them, unless I either �unset� or assign it to the empty string the process acts like there is a memory leak.
PHP:
For ($I = 0; $I < $count; $I++)
{
$retCd = createArray(&$arr);
unset($arr); // for some reason this is necessary.
}C Extension in createArray function:
zval *Arr = 0;
if (zend_parse_parameters(argc TSRMLS_CC, "z", &Arr) == FAILURE) return ;
if (!PZVAL_IS_REF(Arr))
{
zend_error(E_ERROR, "The Arr parameter must be passed by reference");
RETURN_NULL();
}array_init(Arr);
if (add_assoc_string(Arr, (char *) szFieldName, (char *) szValue, 1) == FAILURE) {
. . .
}
What can I do in my extension to unset or clear the variable so that it doesn�t have to be done in the PHP script?
2) For some reason, after the PHP script finishes, the amount of memory as reported by Linux �top� does not go back down to it�s initial level. I notice this especially if I create large PHP arrays. This is very likely to be related to the previous problem.
Thanks in advance,
Bruce
_________________________________________________________________
From must-see cities to the best beaches, plan a getaway with the SpringTravel Guide! http://special.msn.com/local/springtravel.armx
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
