zend api doc II again (The Stupid Guy)
| From: | Chesneau Serge | Date: | Tue, 04 Jul 2000 14:20:50 +0000 |
| Subject: | zend api doc II again (The Stupid Guy) | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-23466@lists.php.net to get a copy of this message | ||
Hi again,
May be my last message about INIT and SHUTDOWN function.
I build a test extension to trace call to PHP_xINIT and PHP_xSHUTDOW.
Each function have sleep(2) and output in a tmp file the pid, ppid, and
time(). I want just to show you the result and give some conclusion :
After apache start request :
- call PHP_GINIT with a temp apache process
- call PHP_MINIT with a temp apache process
- call PHP_MSHUTDOWN with the final father apache process
- call PHP_GINIT with the final father apache process
May be now the fork for x child when x is the value of 'StartServer' in
httpd.conf
- call PHP_MINIT with the final father apache process
After an apache stop query
- call PHP_MSHUTDOWN with father apache process
The raw result :
Pid Ppid Time
/etc/rc.d/init.d/httpd start
GINIT 4517 4516 962719491
MINIT 4517 4516 962719493
MSHUT 4518 1 962719495
GINIT 4518 1 962719497
MINIT 4418 1 962719499
/etc/rc.d/init.d/httpd stop
MSHUT 4418 1 962719517
with a ps -ef | grep httpd (with StartServer 8)
root 4518 1
nobody 4522 4518
...
nobody 4529 4518
I use php-4.0.1pl2 (non ZTS), apache 1.3.12-2 and redhat 6.2.
1) The GSHUTDOWN function is never call (in non ZTS build).
2) The MSHUTDOWN function is call on the 'definitive' apache father
process before the call of GINIT and MINIT for
the same process. May be some trouble perspective when try to clean
before init, no ?
Bye.