Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23910 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 68204 invoked by uid 1010); 4 Jun 2006 09:44:08 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 68189 invoked from network); 4 Jun 2006 09:44:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jun 2006 09:44:08 -0000 X-PHP-List-Original-Sender: steph@zend.com X-Host-Fingerprint: 192.38.9.232 gw2.emini.dk Linux 2.4/2.6 Received: from ([192.38.9.232:17190] helo=gw2.emini.dk) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 00/CF-49656-76BA2844 for ; Sun, 04 Jun 2006 05:44:07 -0400 Received: from foxbox (unknown [84.228.79.24]) by gw2.emini.dk (Postfix) with ESMTP id 7A923B4E78; Sun, 4 Jun 2006 11:44:03 +0200 (CEST) Message-ID: <05c401c687bb$1c929380$6602a8c0@foxbox> Reply-To: "Steph Fox" To: "Marcus Boerger" Cc: "internals" References: <05a301c687a5$344b6df0$6602a8c0@foxbox> <26189213.20060604113112@marcus-boerger.de> Date: Sun, 4 Jun 2006 11:41:51 +0200 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_05C1_01C687CB.DF40E200" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Subject: Re: [PHP-DEV] Fw: small note about interface registration From: steph@zend.com ("Steph Fox") ------=_NextPart_000_05C1_01C687CB.DF40E200 Content-Type: text/plain; format=flowed; charset="Windows-1252"; reply-type=original Content-Transfer-Encoding: 7bit Not a lot.... (attached) ----- Original Message ----- From: "Marcus Boerger" To: "Steph Fox" Cc: "internals" Sent: Sunday, June 04, 2006 11:31 AM Subject: Re: [PHP-DEV] Fw: small note about interface registration > Hello Steph, > > what did you fix in spl and reflection? > > best regards > marcus > > Sunday, June 4, 2006, 9:05:02 AM, you wrote: > >> I take it back, fixing that in SPL and reflection _did_ do something :) > >> The only problem left now is that DL_UNLOAD's called too soon - we need >> ts_free_id() to be called in the Zend module_destructor, but DL_UNLOAD to >> be >> called at the end of tsrm_shutdown() - or at least, after the global core >> stuff is destroyed. And TSRM doesn't know about the module. Hm. > > >> ----- Original Message ----- >> From: "Steph Fox" >> To: "internals" >> Sent: Sunday, June 04, 2006 8:26 AM >> Subject: small note about interface registration > > >>> Guys/gal, >>> >>> At the risk of being boring, someone should probably know that the >>> ZEND_ACC_INTERFACE flag isn't getting set for anything outside the >>> Engine >>> during zend_register_internal_interface(). zend_API.c needs to #include >>> zend_compile.h to get it defined, unless you know a better way. >>> >>> SPL and Reflection don't use zend_register_internal_interface(), so they >>> won't get theirs set from within ZE anyway (tho' they probably should). >>> >>> Note that this doesn't fix my PHP-GTK issue, it was just a side-query >>> into >>> global class table corruption :-( >>> >>> - Steph >>> >>> > > > > > Best regards, > Marcus > > > __________ NOD32 1.1380 (20060125) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.eset.com > > ------=_NextPart_000_05C1_01C687CB.DF40E200 Content-Type: text/plain; format=flowed; name="spl_reflection.txt"; reply-type=original Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="spl_reflection.txt" Index: ext/reflection/php_reflection.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /repository/php-src/ext/reflection/php_reflection.c,v=0A= retrieving revision 1.164.2.33.2.3=0A= diff -u -r1.164.2.33.2.3 php_reflection.c=0A= --- ext/reflection/php_reflection.c 1 Jun 2006 14:31:22 -0000 = 1.164.2.33.2.3=0A= +++ ext/reflection/php_reflection.c 4 Jun 2006 06:36:44 -0000=0A= @@ -4415,7 +4415,7 @@=0A= reflection_ptr =3D zend_register_internal_class(&_reflection_entry = TSRMLS_CC);=0A= =0A= INIT_CLASS_ENTRY(_reflection_entry, "Reflector", reflector_functions);=0A= - reflector_ptr =3D zend_register_internal_class(&_reflection_entry = TSRMLS_CC);=0A= + reflector_ptr =3D zend_register_internal_interface(&_reflection_entry = TSRMLS_CC);=0A= reflector_ptr->ce_flags =3D ZEND_ACC_ABSTRACT | ZEND_ACC_INTERFACE;=0A= =0A= INIT_CLASS_ENTRY(_reflection_entry, "ReflectionFunction", = reflection_function_functions);=0A= Index: ext/spl/spl_functions.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /repository/php-src/ext/spl/spl_functions.c,v=0A= retrieving revision 1.28.2.3=0A= diff -u -r1.28.2.3 spl_functions.c=0A= --- ext/spl/spl_functions.c 9 Mar 2006 11:43:45 -0000 1.28.2.3=0A= +++ ext/spl/spl_functions.c 4 Jun 2006 06:37:34 -0000=0A= @@ -42,10 +42,10 @@=0A= =0A= INIT_CLASS_ENTRY(ce, class_name, functions);=0A= ce.name_length =3D strlen(class_name);=0A= - *ppce =3D zend_register_internal_class(&ce TSRMLS_CC);=0A= + *ppce =3D zend_register_internal_interface(&ce TSRMLS_CC);=0A= =0A= /* entries changed by initialize */=0A= - (*ppce)->ce_flags =3D ZEND_ACC_INTERFACE;=0A= + /* (*ppce)->ce_flags =3D ZEND_ACC_INTERFACE; */=0A= }=0A= /* }}} */=0A= =0A= ------=_NextPart_000_05C1_01C687CB.DF40E200--