Re: SAPI Module Leaking

From: Date: Fri, 21 Dec 2001 18:52:11 +0000
Subject: Re: SAPI Module Leaking
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-74733@lists.php.net to get a copy of this message
Check out DllMain() in php4isapi.c. Are you running the thread attach and thread detach code? Andi At 12:43 PM 12/21/2001 -0600, Alex Leigh wrote:
It can do both. In the testing configuration, it is not pooling but destroying the threads. They are created as detached threads, which at least on Solaris go away after they terminate; the ones that exit aren't building up in the process (I verified this with pstack). I am not specifying an explicit cleanup handler for the threads, if that makes any difference; they are exiting normally by returning off the function called in pthread_create(). Does this web server spawn a new thread for each request? Or does it reuse its threads? Andi At 12:22 PM 12/21/2001 -0600, Alex Leigh wrote:
I'm sure it's leaking, it'll readily consume a gig of memory and shows no signs of slowing down. I originally was calling phpinfo(), but it also
leaks
equally if I just have the php handler serve a page with no php in it. So, yes, it leaks that amount every request and it never frees. The code as I mentioned is a copy of the NSAPI module (nearly identical), and it basically does: if (php_request_startup(TSRMLS_C) == FAILURE) {
      return FAILURE;
} ... php_execute_script(&file_handle TSRMLS_CC); php_request_shutdown(NULL); Alex On 12/21/01 10:28 AM, "Zeev Suraski" <zeev@zend.com> wrote:
Are you calling request_shutdown? Also, are you sure it's actually leaking? Does it leak 200-400KB on each and every request, or does this rate 'slow down' at some point? Zeev At 18:20 21/12/2001, Alex Leigh wrote:
All - I have written a SAPI module for a new webserver "continuity". The
code is
basically the SAPI code for NSAPI, modified to work with
continuity's API.
Continuity is threaded, based on the pthread libraries. My problem is that each requests that is handled by PHP leaks about 200-400KB. I've gone over the code carefully, and I don't see that I am doing (or more importantly, not doing) anything differently than any
of the
other SAPI modules. I have tried php4-4.1.0, as well as the 12/17 cvs snapshot, on both
Linux
and Solaris. I did not configure php with any options other than that to include my sapi module "--with-capi". If someone could give me a reference to SAPI documentation (none of
which I
could find), or give me a lead on what my problem might be, I'd
appreciate
it. My SAPI code can be had at http://www.ashpool.com/dist/php4-capi-v200-p1.tar.gz -- Alex Leigh - www.tessier.com - aleigh@tessier.com The difference between theory and reality is that in theory there is no difference. -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net


« previous php.dev (#74733) next »