[xsl] Questions about the `saxon:threads` extension attribute

Subject: [xsl] Questions about the `saxon:threads` extension attribute
From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Dec 2019 05:18:31 -0000
The questions below are essentially for Dr. Kay, though anyone interested
and able to shed light on these is welcome.

I need this information, because it seems not to be available in the Saxon
documentation.



*General setup*:  We have multi-threaded processing specified by
saxon:threads=b2b



*Q1*. What will happen if *thread1* calls the *fn:error*() function? Will
the execution of *thread2* be terminated immediately/promptly, or will it
continue executing until the end of its processing?



*Q2*. Same as Q1 above, but the multi-threaded processing is enclosed in
<xsl:try> and the error thrown by the *fn:error()* function is caught in
the `<xsl:catch>` child of `<xsl:try>`. Then `<xsl:catch>` produces a
normal value (the error is not re-thrown) b will the 2nd thread be
suppressed or will it continue executing until the end of its processing?



*Q3*.  This time there is no error thrown. Can we access the result of just
one of the threads (whichever finishes first) even before the other thread
has finished? For example, if the results of the two threads are in the
sequence constructor of an `<xsl:variable
select=bvmultithreadingResultsb>`, is it possible to access the result of
the first finished thread in an expression like:

fn:unordered($vmultithreadingResults)[1] ?

--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they write
all patents, too? :)
-------------------------------------
Sanity is madness put to good use.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.

Current Thread