Hi :)
Who said that 1,2,3,... should work?
Erm, it does...
What will your patch do if some extension will register several tsrm ids?
If an extension has several tsrm ids and it's loaded as a shared module, it
will probably crash on shutdown unless the author adds the appropriate
ts_free_id() calls in MSHUTDOWN - depending on the number of shared
extensions loaded, the load order in the php.ini, on the nature of the
modules unloading before it, and on how many tsrm ids it declares. (That
crash might well appear random.) The best way to deal with an extension
declaring more than one thread resource would be to build it as static. But
it actually wouldn't be any worse off than currently, because it would
already need to have ts_free_id() calls coming out of its ears to work as
shared at all, this side of 5.1.3.
What will it do if some extension will not register globals?
That's the situation already with gd... Remember only dl'd modules _request_
their resources freed in this way - the other 20-odd resource 'owners' in
the core either wait until tsrm_shutdown(), or make an independant call to
ts_free_id(), or else are freed slightly early because of something like gd
being in the DL_UNLOAD queue. It doesn't matter when that happens - the
unload order isn't changed, the same resource id can't be freed twice, and
all the other actions within the module_destructor are module-related rather
than TSRM-related.
Thanks. Dmitry.
-----Original Message-----
From: Steph Fox [mailto:[EMAIL PROTECTED]
Sent: Friday, June 09, 2006 2:17 PM
To: Dmitry Stogov; 'Stanislav Malyshev'
Cc: internals@lists.php.net
Subject: Re: [PHP-DEV] Re: [PATCH] Automatic module globals management
What's 'magic' about going 1, 2, 3, 4....?
----- Original Message -----
From: "Dmitry Stogov" <[EMAIL PROTECTED]>
To: "'Stanislav Malyshev'" <[EMAIL PROTECTED]>; "'Steph Fox'"
<[EMAIL PROTECTED]>
Cc: <internals@lists.php.net>
Sent: Friday, June 09, 2006 11:42 AM
Subject: RE: [PHP-DEV] Re: [PATCH] Automatic module globals management
>I also think that Steph's patch is to magic. :)
>
> Dmitry.
>
>
>> -----Original Message-----
>> From: Stanislav Malyshev [mailto:[EMAIL PROTECTED]
>> Sent: Friday, June 09, 2006 12:28 PM
>> To: Steph Fox
>> Cc: internals@lists.php.net
>> Subject: Re: [PHP-DEV] Re: [PATCH] Automatic module
globals management
>>
>>
>> SF>>Attached are patches for fixing the win32/ZTS thing only
>> when needed
>> SF>>-
>> SF>>this will _only_ work if you apply Dmitry's patch to 5_2
>> as well. The
>> SF>>idea being that this way everybody's covered.
>>
>> I'm not sure I understand what this line does:
>> ts_free_id(table_size - zend_dl_module_count());
>>
>> Can you explain?
>>
>> --
>> Stanislav Malyshev, Zend Products Engineer
>> [EMAIL PROTECTED] http://www.zend.com/ +972-3-6139665 ext.115
>>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
> __________ NOD32 1.1380 (20060125) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
__________ NOD32 1.1380 (20060125) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php