Re: [xml] New libxml which is reentrant ?



Daniel Veillard wrote:
On Tue, Jul 08, 2008 at 02:04:32AM +0200, Roland Mainz wrote:
Are there any plans to make a new libxml version which is reentrant and

  Define reentrant.

The current problem we have is that if we have library "a" which uses
libxml2 and then calls a function in library "b" which itself does some
other stuff with libxml2 we get data corruption (the problem isn't
limited to one library - we're seeing this in multiple libxml2 consumers
in Solaris where libraries cannot be combined if both use libxml2 at the
same time).

removes the use of global variables, e.g. replaces |xmlInitGlobals()|

  no, though the use of global variable has been limited to strict minimum with
new APIs

with a function which returns a "handle" (similar to |_xmlGlobalState|)

  no

which is per thread and/or consumer (similar to how PAM handles thread

  global variables are already per thread

Ok... but it seems this limits consumers in a way that they can't be
nested or resources "moved" between threads (e.g. thread "a" creates a
resource and then passes it completely over to thread "b" for further
processing and disposal).

support) and then passed explicitly to each consuming function ?

  no

In a nutshell, do not expect a libxml2 redesign.

Do you know any other XML parsers which fall into the category of being
reentrant (as described above) ?

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland mainz nrubsig org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL <currently fluctuating>
 (;O/ \/ \O;)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]