Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:7139 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 36339 invoked by uid 1010); 16 Jan 2004 20:13:24 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 36308 invoked by uid 1007); 16 Jan 2004 20:13:23 -0000 Message-ID: <20040116201323.36307.qmail@pb1.pair.com> To: internals@lists.php.net Reply-To: dzhuo@looksmart.net Date: Fri, 16 Jan 2004 12:45:39 -0800 Lines: 30 User-Agent: KNode/0.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Posted-By: 64.241.242.18 Subject: why MSHUTDOWN isn't called? From: dzhuo@looksmart.net (david) i have noticed the MSHUTDOWN function of my extension isn't called if the .so in memory is different than those in disk. this can happen if i release a new .so and restart apache. for example, i observed the following: 1. cp .so to my extension dir 2. start apache 3. cp a new .so to my extension dir with bug fix 4. stop apache 5. start apache for some reason, in step 4, the module's MSHUTDOWN function isn't called at all. the following, however, works fine: 1. cp .so to my extension dir 2. start apache 3. stop apache 4. cp a new .so to my extension dir with bug fix 5. start apache the only differences is that in the second version, i stop apache before copying the new .so over. why does it matter? step 4 of my first version should have unloaded the old .so from memory and then picks up the new .so in step 5, but it's not doing that. does anyone know why? david -- sub'_{print"@_ ";* \ = * __ ,\ & \} sub'__{print"@_ ";* \ = * ___ ,\ & \} sub'___{print"@_ ";* \ = * ____ ,\ & \} sub'____{print"@_,\n"}&{_+Just}(another)->(Perl)->(Hacker)