On Mon, Feb 20, 2006 at 01:13:57PM -0500, Christopher R. Palmer wrote:
> Digging into this a little more, it looks like xsltInit is called every 
> time that a new stylesheet is parsed.  xsltInit uses xsltRegisterAllExtras 
> which always updates all of the hash entries and the hash function is (not 
> surprisingly) not thread safe for updates.
> 
> CVS tells me that xsltInit was changed to fix bug #165201 (calling xsltInit 
> multiple times) where previously it had a local static initialized flag.
> 
> The best fix I can suggest is to export xsltInit and have a static 
> initialized flag.  To not break the fix of bug #165201, add an internal 
> function to signal that the library is no longer initialized.
> 
> I've attached such a patch for possible inclusion in the code base.

  Okay, this seems to make sense, and exporting the init function might
be the only way to garantee the absence of race in multithreaded uses.
I guess you tested it, I have no good way to test multithreaded uses,

   thanks !

Daniel

-- 
Daniel Veillard      | Red Hat http://redhat.com/
[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