[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

xml/libxml thread safety

Mage

10/11/2006 4:59:00 PM

Hello,


my simple question is that is libxml thread-safe? I would like to use it
in production environment.

Mage



3 Answers

Ross Bamford

10/12/2006 8:37:00 AM

0

On Thu, 2006-10-12 at 01:58 +0900, Mage wrote:
> my simple question is that is libxml thread-safe? I would like to use it
> in production environment.

(I assume you mean libxml-ruby, rather than libxml itself?)

The simple answer is probably not. We do have an open bug[1] regarding
cross-thread synchronisation, and though I've been unable to reproduce
it so far, I take that to mean it's probably platform/configure/compiler
specific. Most of the other open bugs pertain to pointer handling, and
have the potential to get 'interesting' in a multi-threaded program.

I'm working on fixing most of this and implementing open feature
requests for 0.4.0, but currently I'm short on free time and apparently
kind of on my own on the project. I guess I might be able to give a more
positive answer to the same question early next year...

Meanwhile, you might want to check out ruby-xml-smart:
http://raa.ruby-lang.org/project/ruby-...

--
[1]: http://rubyforge.org/tracker/index.php?func=detail&aid=5734&group_id=494&...
Ross Bamford - rosco@roscopeco.REMOVE.co.uk


Mage

10/12/2006 1:16:00 PM

0

Ross Bamford wrote:
> On Thu, 2006-10-12 at 01:58 +0900, Mage wrote:
>
>> my simple question is that is libxml thread-safe? I would like to use it
>> in production environment.
>>
>
> (I assume you mean libxml-ruby, rather than libxml itself?)
>
True.
> The simple answer is probably not. We do have an open bug[1] regarding
> cross-thread synchronisation, and though I've been unable to reproduce
> it so far, I take that to mean it's probably platform/configure/compiler
> specific. Most of the other open bugs pertain to pointer handling, and
> have the potential to get 'interesting' in a multi-threaded program.
>
I simply want to generate an xml file with root 'ads' and nodes 'ad'
(and subnodes of course).
Since the generation uses network traffic and image manipulation I think
multithreading will enchant the performance.

Should I create every 'ad' node with Monitor.synchronize? Is this
enough? The subnodes of 'ad' nodes won't share any data.

Mage


Ross Bamford

10/12/2006 4:43:00 PM

0

On Thu, 2006-10-12 at 22:15 +0900, Mage wrote:
> Ross Bamford wrote:
> > On Thu, 2006-10-12 at 01:58 +0900, Mage wrote:
> >
> >> my simple question is that is libxml thread-safe? I would like to use it
> >> in production environment.
> >>
> > The simple answer is probably not. We do have an open bug[1] regarding
> > cross-thread synchronisation, and though I've been unable to reproduce
> > it so far, I take that to mean it's probably platform/configure/compiler
> > specific. Most of the other open bugs pertain to pointer handling, and
> > have the potential to get 'interesting' in a multi-threaded program.
> >
> I simply want to generate an xml file with root 'ads' and nodes 'ad'
> (and subnodes of course).
> Since the generation uses network traffic and image manipulation I think
> multithreading will enchant the performance.
>
> Should I create every 'ad' node with Monitor.synchronize? Is this
> enough? The subnodes of 'ad' nodes won't share any data.

To be completely honest, I really don't know - I've still to reproduce
any multithread-related bugs here, but I *do* know we have a few open
problems that *could* be exasperated in a multithreaded program. My only
remotely useful advice right now would be "try it", but then probably
not in a production environment... The lib _should_ be thread safe, so
if you do try it, and find anything goes wrong, I'd appreciate a bug
report ;)

Sorry I can't be more help... :(

--
Ross Bamford - rosco@roscopeco.REMOVE.co.uk