Re: Thread safety failure in EG(function_table)?
| From: | Michael Sisolak | Date: | Tue, 27 Aug 2002 06:05:49 +0000 |
| Subject: | Re: Thread safety failure in EG(function_table)? | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-87510@lists.php.net to get a copy of this message | ||
> I believe that I can reproduce a thread safety failure in
init_executor
> (as called from the ISAPI sapi). I have a PHP script page that loads
> the stylesheet as a PHP page - thus causing two almost simultaneous
> page loads. I assume that if in init_executor() directly after
> "EG(function_table) = CG(function_table);" I dump out any
non-internal
> functions in the function_table I shouldn't find any (as no script
page
> has been loaded yet in that thread). That's how it works when my
main
> page loads, but when the second page load happens the functions from
> the first page show up in the function_table for the second! Once
one
> of the threads releases it's local functions, the other still
believes
> they are valid and tries to release them also creating quite a mess.
I believe I have tracked this down to an issue in the threading model
of ISAPI applications vs. what the thread safe PHP is expecting. I've
followed up in the thread "ISAPI Crash Debugging Notes".
Michael Sisolak
msisolak@yahoo.com
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com