fix: Only permit web workers to be initialized once. (#1535)

This commit is contained in:
Jack Cosgrove 2020-03-19 07:21:20 -05:00 committed by GitHub
parent 3b5f71b0be
commit 9feadd3c6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 2 deletions

View File

@ -1,6 +1,8 @@
import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';
export default function initWebWorkers() {
let initialized = false;
export default function initWebWorkers() {
const config = {
maxWebWorkers: Math.max(navigator.hardwareConcurrency - 1, 1),
startWebWorkersOnDemand: true,
@ -13,5 +15,8 @@ export default function initWebWorkers() {
},
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);
if (!initialized) {
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);
initialized = true;
}
}

View File

@ -10,3 +10,14 @@ describe('initWebWorkers', () => {
).toHaveBeenCalled();
});
});
describe('initWebWorkers', () => {
it("initializes cornerstoneWADOImageLoader's web workers only once", () => {
initWebWorkers();
initWebWorkers();
expect(
cornerstoneWADOImageLoader.webWorkerManager.initialize
).toHaveBeenCalledTimes(1);
});
});