On Fri, Oct 19, 2007 at 03:11:02PM +0530, Ashwin wrote:
> 
> 
>  
>  
>  
>  
> On Fri, Oct 19, 2007 at 11:12:49AM +0530, Ashwin wrote:
> > 
> >    Hi,
> > 
> >        In  the function xmlInitThreads present in the threads .c file the
> >    null check for pthread_key_create is present twice on line numbers 810
> >    and 818(version 28). Is this an oversight?
> 
> >  oversight definitely, note though that there is no pthread_key_delete
> > test, i.e. we don't free the data (which caused some toubles in amd
> > the automounter recently where libxml2 was dlopen'ed). But that's a
> > different (and quite complex) issue.
> In the same function null checks are not present for pthread_cond_destroy
> and pthread_cond_wait. Is this by design? 
> Plus right at the beginning there are two extern declarations for
> pthread_key_create one with parameters and another without, maybe that's how
> it works but I am not sure

  The fact taht the test is double is absolutely no problem.
For the general principle of those tests,i
     1/ it's to avoid forcing linking to -lpthread by libxml2 while
        using it if the final application uses it
     2/ it uses ELF weak references

it's not simple, depends on the ELF format and compiler specifics.

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
[EMAIL PROTECTED]  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to