Re: module global becomes executor globals then back again

From: Date: Sun, 04 Sep 2005 23:05:53 +0000
Subject: Re: module global becomes executor globals then back again
References: 1 2 3 4  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-2861@lists.php.net to get a copy of this message
Wez Furlong wrote: > emalloc()/efree() can only be used in between RINIT and RSHUTDOWN; > after rshutdown, all emalloc'd memory is freed. zvals use emalloc()'d > memory, so on the second request, your global variable was corrupted. > > As a general rule, you can't keep any kind of zval around between requests. > > --Wez. Thanks Wez. Got it all sorted :) > > On 9/4/05, Nick Loeve <php@trickie.org> wrote: > >>Yeah i knew it was vague, but i was not sure why or how to begin, i was >>just hoping that it sounded like a common problem :) >> >>It was caused by my setting a zval * as global variable, and allocating >>it during a ini update method, so i assume the memory was being freed at >>the end of the first request?? Not sure about that either. >> >>I changed it to a HashTable and it is now all good. >> >>Thanks anyway >> >>Wez Furlong wrote: >> >>>A vague answer for a vague question: sounds like you're doing something wrong. >>>If you can give more info, I'm sure you'll get a better answer. >>> >>>--Wez. >>> >>>On 9/4/05, Nick Loeve <php@trickie.org> wrote: >>> >>> >>>>Hi! >>>> >>>>I have a wierd problem in an extension i am developing, and was hoping >>>>to get some pointers on how to debug it. >>>> >>>>I have a global variable in my module, that gets initialized as an array >>>>at module start up. I have a function that returns that array, and the >>>>first request that gets serviced returns that array as expected. >>>> >>>>Any subsequent requests return the entire executor globals with the >>>>$GLOBALS referencing itself?? >>>> >>>>If i wait 2 mins (and am guessing that the apache processes die and >>>>respawn) then the array is returned correctly again the first time, but >>>>not on subsequent requests. >>>> >>>>I am using a current CVS export of 5_1 and Apache 1.3. >>>> >>>>Any pointers would be appreciated. >>>> >>>>Cheers >>>>Nick Loeve >>>> >>>>-- >>>>PECL development discussion Mailing List (http://pecl.php.net/) >>>>To unsubscribe, visit: http://www.php.net/unsub.php >>>> >>>> >>> >>> >

« previous php.pecl.dev (#2861) next »