At 03:47 PM 3/29/2001 +0200, Zeev Suraski wrote:
>At 15:41 29/3/2001, Andi Gutmans wrote:
>>At 03:35 PM 3/29/2001 +0200, Zeev Suraski wrote:
>>>Note that the situation isn't as bad as you thought - it's not that it's 
>>>not using the resource mechanism.  It is, if it wasn't, we'd be getting 
>>>loads of complaints from people running out of descriptors very 
>>>quickly.  It just uses old, PHP 3 style resources, of type 
>>>IS_LONG.  They're still destroyed when the request ends, so it's all 
>>>safe and all.  It simply doesn't use the PHP 4 style, of type 
>>>IS_RESOURCE, which are actually destroyed when they're no longer 
>>>needed.  It's a good idea to update this code, but it's not very 
>>>dangerous the way it is now.
>>
>>I think you are wrong. Look at the function accept_connect(). You are 
>>creating a new file descriptor and not saving it anywhere!
>
>So this function may be an exception to the rule.  But generally, all of 
>the file/socket functions use ZEND_REGISTER_RESOURCE() or 
>zend_list_insert(), so they're fine.

Well we were talking about the ext/socket extension and all functions there 
which create file descriptors are leaking. It's not an exception. Check 
open_listen_sock() and accept_connect().
You were probably looking at the fd set functions which are just 
emalloc()'ed memory. The happen to use resources but even if they hadn't it 
would be a leak which the Zend memory manager would clean up. The file 
descriptors is the real problem.

Andi


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to