Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:51143 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 84196 invoked from network); 31 Dec 2010 00:37:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Dec 2010 00:37:36 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 67.192.241.193 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 67.192.241.193 smtp193.dfw.emailsrvr.com Linux 2.6 Received: from [67.192.241.193] ([67.192.241.193:60653] helo=smtp193.dfw.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id ED/9A-14489-DC52D1D4 for ; Thu, 30 Dec 2010 19:37:35 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp19.relay.dfw1a.emailsrvr.com (SMTP Server) with ESMTP id 3752A3C8143; Thu, 30 Dec 2010 19:37:31 -0500 (EST) X-Virus-Scanned: OK Received: by smtp19.relay.dfw1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id F38743C819A; Thu, 30 Dec 2010 19:37:30 -0500 (EST) Message-ID: <4D1D25CA.1010509@sugarcrm.com> Date: Thu, 30 Dec 2010 16:37:30 -0800 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: "Edward Z. Yang" CC: internals References: <1293754419-sup-9852@ezyang> In-Reply-To: <1293754419-sup-9852@ezyang> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Autoloader invariant From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > When I am inside the body of an autoloader function, am I allowed > to assume the invariant that the class passed to the autoloader function > does not exist? Last time I checked, PHP was still single-threaded, Generally, yes, though nothing prevents somebody from calling the same function explicitly regardless of some class existence - the engine however wouldn't do so if the class exists. > so this invariant being broken would be quite suprising to me, but > a user reports that they are seeing precisely this behavior from a > combination of Zend Debugger + APC. I'm not sure that APC and Zend Debugger are fully compatible, but if you seeing this it is probably some side effect of one of these two modules. IIRC Zend Debugger does nothing that concerns autoloader, so I'd look at APC first. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227