Derick:

No, they fixed some of the problems, but if you read the code snippet that I
included below, you will see that file_globals_ctor and file_globals_dtor
are defined inside the preprocessor macros for ZTS, so if ZTS is not defined
they are not created.  However, lower  in the snippet you will see that
file_globals_ctor is called when ZTS is NOT defined.  Thats the problem...

Sean

> -----Original Message-----
> From: Derick Rethans [mailto:[EMAIL PROTECTED]]
> Sent: Saturday, January 13, 2001 6:08 PM
> To: Sean R. Bright
> Cc: [EMAIL PROTECTED]
> Subject: Re: FW: [PHP-DEV] file.c fsock.c ... Again ...
>
>
> On Sat, 13 Jan 2001, Sean R. Bright wrote:
>
> >
> > Already did, these are happening after getting your
> changes.  (I watch the
> > cvs list as well ;))
>
> Did my changes broke this?
>
> Derick
>
> >
> > > -----Original Message-----
> > > From: Derick Rethans [mailto:[EMAIL PROTECTED]]
> > > Sent: Saturday, January 13, 2001 6:04 PM
> > > To: Sean R. Bright
> > > Cc: [EMAIL PROTECTED]
> > > Subject: Re: [PHP-DEV] file.c fsock.c ... Again ...
> > >
> > >
> > > Hello,
> > >
> > > can you try the latest CVS? Zeev did some work on it today.
> > >
> > > Derick
> > >
> > > On Sat, 13 Jan 2001, Sean R. Bright wrote:
> > >
> > > >
> > > > Anyone see the logical problem with this besides me?
> > > >
> > > > #ifdef ZTS
> > > > static void file_globals_ctor(FLS_D) <--- THIS is defined
> > > if thread safe
> > > > {
> > > >         zend_hash_init(&FG(ht_fsock_keys), 0, NULL, NULL, 1);
> > > >         zend_hash_init(&FG(ht_fsock_socks), 0, NULL,
> (void (*)(void
> > > > *))php_msock_destroy, 1);
> > > >         FG(def_chunk_size) = PHP_FSOCK_CHUNK_SIZE;
> > > >         FG(phpsockbuf) = NULL;
> > > >         FG(fgetss_state) = 0;
> > > >         FG(pclose_ret) = 0;
> > > > }
> > > > static void file_globals_dtor(FLS_D)
> > > > {
> > > >         zend_hash_destroy(&FG(ht_fsock_socks));
> > > >         zend_hash_destroy(&FG(ht_fsock_keys));
> > > >         php_cleanup_sockbuf(1 FLS_CC);
> > > > }
> > > > #endif
> > > >
> > > > PHP_MINIT_FUNCTION(file)
> > > > {
> > > >         le_fopen =
> > > zend_register_list_destructors_ex(_file_fopen_dtor, NULL,
> > > > "file", module_number);
> > > >         le_popen =
> > > zend_register_list_destructors_ex(_file_popen_dtor, NULL,
> > > > "pipe", module_number);
> > > >         le_socket =
> > > zend_register_list_destructors_ex(_file_socket_dtor,
> > > > NULL, "socket", module_number);
> > > >
> > > > #ifdef ZTS
> > > >         file_globals_id =
> ts_allocate_id(sizeof(php_file_globals),
> > > > (ts_allocate_ctor) file_globals_ctor,
> (ts_allocate_dtor) file_gl$
> > > > #else
> > > >         file_globals_ctor(FLS_C); <--- BUT is called when
> > > not thread safe
> > > > (i.e. its not defined...
> > > > #endif
> > > >
> > > > Errors happening:
> > > >
> > > > .libs/libphp4.a(file.o): In function `php_minit_file':
> > > > /usr/cvs/php4/ext/standard/file.c:179: undefined reference to
> > > > `file_globals_ctor'
> > > > .libs/libphp4.a(fsock.o): In function `php_mshutdown_fsock':
> > > > /usr/cvs/php4/ext/standard/fsock.c:726: undefined reference to
> > > > `fsock_globals_dtor'
> > > > collect2: ld returned 1 exit status
> > > >
> > > >
> > > >
> > >
> >
> >
> >
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail:
> [EMAIL PROTECTED]
>


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to