The way TSRM is written is not designed for servers that don't reuse 
threads for more than one request, so if that's how it works - you're going 
to see a growing memory image all the time :I

At 22:16 21/12/2001, Alex Leigh wrote:
>Ok. I looked at the ISAPI code, and I am now calling ts_thread_free() when
>the handler exits. This seems to have cleared up the problem immensely, but
>it's still leaking to the tune of ~1k per request. I'll go over my SAPI
>module again to verify that is not the cause of the 1k leak.
>
>Also with php4-20011217120 randomly (13 times in 5000 requests), the page
>(1k test data with no php script commands) fails to serve. Php writes:
>
>Unknown(0) : Warning - Failed opening
>'/web02/content/_default/_default/k1.php' for inclusion
>(include_path='.:/usr/local/lib/php')
>
>To stdout
>
>Alex
>
>On 12/21/01 12:52 PM, "Andi Gutmans" <[EMAIL PROTECTED]> wrote:
>
> > 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" <[EMAIL PROTECTED]> 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 - [EMAIL PROTECTED]
> >>>>>> 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: [EMAIL PROTECTED]
> >>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>>> To contact the list administrators, e-mail: 
> [EMAIL PROTECTED]
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> 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]
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> 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]
> >
>
>
>--
>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]


-- 
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