Project

Profile

Help

Bug #5130

`saxon:discard-document()` should be synchronized

Added by Michael Kay about 2 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
2021-10-15
Due date:
% Done:

0%

Estimated time:
Legacy ID:
Applies to branch:
10, 11, trunk
Fix Committed on Branch:
10, trunk
Fixed in Maintenance Release:
Platforms:

Description

The extension function saxon:discard-document() makes multiple updates to data held by the Controller, in particular the document pool and the list of unavailable documents. The method should be synchronized in case there are multiple simultaneous calls to saxon:discard-document() in different threads.

Ideally we should also provide a function that combines the effect of doc() and discard-document() -- and perhaps doc-available() -- all within a single call having atomic effect, but meanwhile simply synchronising discard-document() will remove some potential dangers.

(This is relevant only when transformations are executing in multiple threads, typically as a result of using xsl:result-document).


Related issues

Related to Saxon - Support #5124: Unexpected error "Cannot read a document that was written during the same transformation" - race conditionNew2021-10-13

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

History

#1 Updated by Michael Kay about 2 months ago

  • Status changed from New to Resolved
  • Applies to branch 10, 11, trunk added
  • Fix Committed on Branch 10, trunk added

Fixed on the 10 and 11 branches.

#2 Updated by Michael Kay about 2 months ago

  • Related to Support #5124: Unexpected error "Cannot read a document that was written during the same transformation" - race condition added

Please register to edit this issue

Also available in: Atom PDF