I have a question in regards to page timeouts and how the initial
request is terminated.
First, I apologize up front for my ignorance. I am not a php user,
rather a database developer who has customers using php.
I've noticed if a query takes longer than the default 30 seconds to
execute, php returns a timeout message to the user. From what I can
tell, php uses the SIGPROF signal to stop execution when the 30 seconds
has expired. Also, I've found that it doesn't seem to "unwind" the stack
after receiving the SIGPROF signal, instead it just seems to stop dead
in its tracks and the apache process goes back to listening for another
request.
Is my understanding somewhat correct? If so, how do I, as a library
developer, verify that some/all of my state information is returned back
to a usable state after I've been interrupted right in the middle of a
call?
I've included a pseudo-code example of my problem below, in case it
clarifies what I'm trying to say.
TIA,
J.D. Mullin
Advantage Database Server
Consider the following function:
void func( void )
{
1 - set some state flag to 1
2 - call server to do query execution
3 - set some state flag back to 0
}
The php timeout occurs during step 2.
The zend_timeout handler is called.
?? I don't know what happens next, but control never returns to my
function, so the state flag never gets set back to 0 ??
The same apache process continues to accept requests, although the libraries
that were interrupted are now in an unknown state.
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php