Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:13544 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 40083 invoked by uid 1010); 26 Oct 2004 22:51:54 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 39950 invoked from network); 26 Oct 2004 22:51:53 -0000 Received: from unknown (HELO mproxy.gmail.com) (216.239.56.247) by pb1.pair.com with SMTP; 26 Oct 2004 22:51:53 -0000 Received: by mproxy.gmail.com with SMTP id w67so110313cwb for ; Tue, 26 Oct 2004 15:51:49 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=t7wyRxevaHHNAba1Kb5oLLvfRfQMEoS1R5N+t56mbenuN4g8VULFvUI1XmcV1MSsD/vf0+jkirm8p3f7AzjeFeuEsi4G+nKAcE6N+5/aqrLkDKk/hK1lmnqqxy0/BRMx7Epulh2kpPtEkf3e3555/MyUY/Gyzz9CZ6G7YjO/4Fc= Received: by 10.11.117.20 with SMTP id p20mr818104cwc; Tue, 26 Oct 2004 15:51:48 -0700 (PDT) Received: by 10.11.117.13 with HTTP; Tue, 26 Oct 2004 15:51:46 -0700 (PDT) Message-ID: <4e89b426041026155137271b9d@mail.gmail.com> Date: Tue, 26 Oct 2004 23:51:46 +0100 Reply-To: Wez Furlong To: Rasmus Lerdorf Cc: internals , Andi Gutmans , Marcus Boerger In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <4e89b4260410261513911b5ae@mail.gmail.com> <4e89b426041026153151d211ae@mail.gmail.com> Subject: Re: [PHP-DEV] dl() unload / module shutdown issue still unresolved From: kingwez@gmail.com (Wez Furlong) Urgh. On Tue, 26 Oct 2004 15:42:09 -0700 (PDT), Rasmus Lerdorf wrote: > It's a bit tricky. When Apache starts up it does a double-pass of the > conf files in order to do a syntax check. It needs to load all its > modules in order to do this so our libphp4.so gets loaded which in turn > causes us to load all our extensions. Then Apache unloads libphp4.so and > starts over and reloads libphp4.so. Now, in between these two dlopens of > libphp4.so memory usage can change dramatically. For example, if you have > a bunch of mod_rewrite rules in your Apache conf the second time > libphp4.so is loaded it can easily be a page higher in memory. If the > extensions that PHP loaded on the first pass were not unloaded then any > callback addresses in the extensions are going to be off by a page and you > will get some very nasty crashes. > > -Rasmus >