Bug #4954

unable to unload SaxonC / libsaxonhec.dll after usage
Status:
New
Priority:
Low
Assignee:
-
Category:
-
Start date:
2021-03-30
Due date:
% Done:
0%
Estimated time:
Found in version:
Saxon-HE/C 1.2.1
Fixed in version:
Description
In a couple of use-cases it (unfortuantely) can be a requirement to get rid of libsaxonhec.dll
from the current process address space after using it to do XSL transformations.
With the following sample one might suspect that all traces of Saxon/C would be removed from current runnig process, however this is not the case:
SaxonProcessor* processor = new SaxonProcessor(false);
Xslt30Processor* xsltProcessor = processor->newXslt30Processor();
// .. using xlstProcessor to do transformatiosn
delete xsltProcessor;
processor->release();
delete processor;
after this code is executed, libsaxonhec.dll
is still loaded and a total of 16 threads are still alive within the "released" dll.
manually trying to unload the DLL after deleting the processor isntance yields a segfault:
Please register to edit this issue