Re: [xml] is libxml2 library thread safe
On Mon, Jan 23, 2012 at 10:11:58AM +0100, Martin B. wrote: On 22.01.2012 23:15, ajay bhadauria wrote: Hi, Is libxml2 library is thread safe ? Can we use the same xmlSchemaValidCtxtPtr across the threads for schema validation ? libxml2 is thread-safe after the library has been initialized with xmlInitParser() for concurrent operations on different trees yes I would assume that xmlSchemaValidCtxtPtr is also thread-safe in general. (As long as you do not use it on the same object.) I think you need to create one validity context per thread. Then the validations can run concurrently. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ dan...@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ ___ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org http://mail.gnome.org/mailman/listinfo/xml
Re: [xml] is libxml2 library thread safe
--On 23 January 2012 10:11:58 +0100 Martin B. 0xcdcdc...@gmx.at wrote: libxml2 is thread-safe after the library has been initialized with xmlInitParser() Is that really true? Are node attach and detach operations atomic in their tree modifications? I don't think I would feel happy traversing a tree whilst another thread was modifying it. -- Alex Bligh ___ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org http://mail.gnome.org/mailman/listinfo/xml
Re: [xml] is libxml2 library thread safe
On 23.01.2012 10:36, Alex Bligh wrote: --On 23 January 2012 10:11:58 +0100 Martin B. 0xcdcdc...@gmx.at wrote: libxml2 is thread-safe after the library has been initialized with xmlInitParser() Is that really true? Are node attach and detach operations atomic in their tree modifications? I don't think I would feel happy traversing a tree whilst another thread was modifying it. Nah. I just meant the basic operations. You can't safely modify the same tree from different threads without manual sync. Sorry for the confusion. (I'd still say the *library* is thread safe, in that all global state of the library is threading safe. I guess it depends what one means by thread safe.) br, Martin ___ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org http://mail.gnome.org/mailman/listinfo/xml