fix: Only permit web workers to be initialized once. (#1535)
This commit is contained in:
parent
3b5f71b0be
commit
9feadd3c6d
@ -1,6 +1,8 @@
|
|||||||
import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';
|
import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';
|
||||||
|
|
||||||
export default function initWebWorkers() {
|
let initialized = false;
|
||||||
|
|
||||||
|
export default function initWebWorkers() {
|
||||||
const config = {
|
const config = {
|
||||||
maxWebWorkers: Math.max(navigator.hardwareConcurrency - 1, 1),
|
maxWebWorkers: Math.max(navigator.hardwareConcurrency - 1, 1),
|
||||||
startWebWorkersOnDemand: true,
|
startWebWorkersOnDemand: true,
|
||||||
@ -13,5 +15,8 @@ export default function initWebWorkers() {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);
|
if (!initialized) {
|
||||||
|
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);
|
||||||
|
initialized = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,3 +10,14 @@ describe('initWebWorkers', () => {
|
|||||||
).toHaveBeenCalled();
|
).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('initWebWorkers', () => {
|
||||||
|
it("initializes cornerstoneWADOImageLoader's web workers only once", () => {
|
||||||
|
initWebWorkers();
|
||||||
|
initWebWorkers();
|
||||||
|
|
||||||
|
expect(
|
||||||
|
cornerstoneWADOImageLoader.webWorkerManager.initialize
|
||||||
|
).toHaveBeenCalledTimes(1);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user