Hi Andi, In Zend/zend.c function name is compiler_globals_ctor This function is defined inside the #ifdef ZTS macro Line of concern zend_hash_copy(compiler_globals->class_table, global_class_table, (copy_ctor_func_t) zend_class_add_ref, &tmp_class, sizeof(zend_class_entry));
If I am correct our global_class_table is a hash table of classname versus zend_class_entry**. In this case while making a copy og global_class_table to thread specific class_table in a deep fashion. zend_hash_copy has to do the double dereferencing which it can't being a generic fuinction. So my contention is The above line should be the following zend_hash_copy(compiler_globals->class_table, global_class_table, (copy_ctor_func_t) zend_class_add_ref, &tmp_class, sizeof(zend_class_entry*)); If sharing of class entries are desired across threads. Else We should write a custom class_table deep copy function. Hope I made it clear. Awaiting for your comments. With regards Kamesh Jayachandran On Mon, 28 Jun 2004 07:58:59 -0700, "Andi Gutmans" <[EMAIL PROTECTED]> said: > I don't quite understand the question. > Can you rephrase what exactly is bothering you? > > Andi > > At 03:46 AM 6/28/2004 +0530, Kamesh Jayachandran wrote: > >Hi All, > >Sorry to repost for the third time. > >I want the clarification regarding copying the global_class_table to > >thread specific compiler_globals->class_table in compiler_globals_ctor > >in Zend/zend.c. > > > >According to me memcpy should copy 'whatever source points to' to > >'destination'. > >Our class_table hashtable structure looks like this, > >char *key; > >zend_class_entry** value; > >So memcpy should copy only whatever (zend_class_entry**) points to which > >is semantically wrong good candidate for Segmentation fault. > > > >No way memcpy can do double dereferencing for this case. > > > >Somehow in Linux when i compile it with maintainer-zts-mode memcpy > >copies the data fine. > >I verified all the internal classes. Thread specific class_table is in > >sink with the global_class_table. > > > > > >Please clarify. > > > >Thanks in Advance > > > > > >With regards > >Kamesh Jayachandran > > > >-- > >PHP Internals - PHP Runtime Development Mailing List > >To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php