Re: Multiple PHP_MINIT_FUNCTION call?
| From: | fabwash | Date: | Fri, 05 Jul 2002 23:41:52 +0000 |
| Subject: | Re: Multiple PHP_MINIT_FUNCTION call? | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-85807@lists.php.net to get a copy of this message | ||
my guess would be that a child is created because the current module is
still running when you hit reload fast and it's not finished executing?
that's just a guess!
F.
----- Original Message -----
From: "Maxx ." <exfearience@mail.ru>
To: <php-dev@lists.php.net>
Sent: Friday, July 05, 2002 7:34 PM
Subject: [PHP-DEV] Multiple PHP_MINIT_FUNCTION call?
> Hi,
> I am sorry if this was discussed before, but the search on "MINIT" didn't
> return any result.
>
> I work on a PHP extension and found out some strange (possibly not, that
is the
> question) behaviour of global variables in PHP:
>
> 1. PHP 4.2.1, WinXP English (build 2600), ZTS=1, DEBUG=0, PHP as an Apache
> 1.3.26 module
> 2. Declare and initialize a TSRM global variable: int variable_name
> 3. Inside PHP_MINFO_FUNCTION (actually, this could be any other func) I
print
> out: ++(TSRM_G(variable_name)); (of course, I use the macro defined in
> php_myextension.h instead of TSRM_G)
> 4. Reload phpinfo() page => In extension's info table appear a number
which is
> incremented on every page's reload. Untill now everything's like OK.
>
> The problem appear when you reload the page a bit faster (i.e. 2-3 times
per
> second). It seems like Apache creates another child (it has to do so,
hasn't
> it?) and PHP calls PHP_MINIT_FUNCION() (where all globals are being
> reinitialized) for the new Apache's thread. Further, all Apache's threads
> appear to be totally independent because from time to time the number from
the
> first thread appears on the page.
>
> I didn't test this on *NIX.
>
> Now questions:
> * WHY does PHP call the module's init funcion various times instead of
calling
> it once only when Apache initializes?
> * Is this an expected behaviour or something really goes wrong?
> * This seems to be an Apache's fault, not PHP one. Is this correct?
>
> I hope I described the problem clearly. If not, ask me for more
information.
> Thanks for your time,
> Maxx
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>