W3C home > Mailing lists > Public > xproc-dev@w3.org > April 2009

Re: Is Calabash thread-safe, multiprocessor-safe?

From: David A. Lee <dlee@calldei.com>
Date: Wed, 29 Apr 2009 15:05:31 -0400
Message-ID: <49F8A4FB.2040005@calldei.com>
To: Norman Walsh <ndw@nwalsh.com>
CC: XProc Dev <xproc-dev@w3.org>
As an independent 2nd opinion.
I've integrated calabash code into a multi-threaded application.  I have 
not reviewed all the code, but I have reviewed quite a bit of it.
If you stick to seperate instances of XProcRuntime per thread and don't 
share ANY internal data between threads,
I also believe it should be thread safe.

However I can assert definitely that XProcRuntime is not sharable across 
threads.  There are operations in some steps which affect this object at 
runtime, which would definately mess things up in different threads if 
they were sharing it.

Norman Walsh wrote:
> "Costello, Roger L." <costello@mitre.org> writes:
>> One of the organizations I support is considering using XProc and
>> using Calabash. They asked me some questions that I was not able to
>> answer:
>> 1. How confident are you in the quality and correctness of the
>> Calabash implementation?
> Uhhhhh. I'm reasonably confident that it produces correct results, but
> there are known bugs: http://code.google.com/p/xmlcalabash/issues/list
> and I'm sure there are unknown bugs too. It's 'beta', at best.
>> 2. In your experience is Calabash thread-safe, multiprocessor-safe?
> I've made no effort to make XProcRuntime objects thread safe. I'm not
> even confident that they're serially reusable. But if you create two
> XProcRuntimes, I don't think there'd be any issue with running
> pipelines through them in different threads.
> The current implementation is single-threaded, so I don't think
> multiprocessors are relevant.
>                                         Be seeing you,
>                                           norm

David A. Lee
Received on Wednesday, 29 April 2009 19:06:20 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:03:04 UTC