File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -75,6 +75,10 @@ class WorkerWrapper {
75
75
}
76
76
}
77
77
78
+ const finalizationRegistry = new FinalizationRegistry ( ( worker ) => {
79
+ worker . terminate ( ) ;
80
+ } ) ;
81
+
78
82
/**
79
83
* Pool for workers to decode chunks of the images.
80
84
*/
@@ -114,7 +118,10 @@ class Pool {
114
118
this . workerWrappers = ( async ( ) => {
115
119
const workerWrappers = [ ] ;
116
120
for ( let i = 0 ; i < size ; i ++ ) {
117
- workerWrappers . push ( new WorkerWrapper ( createWorker ( ) ) ) ;
121
+ const worker = createWorker ( ) ;
122
+ const wrapper = new WorkerWrapper ( worker ) ;
123
+ workerWrappers . push ( wrapper ) ;
124
+ finalizationRegistry . register ( wrapper , worker , wrapper ) ;
118
125
}
119
126
return workerWrappers ;
120
127
} ) ( ) ;
Original file line number Diff line number Diff line change
1
+ // The contents of this file may be overridded for some build processes
2
+
3
+ import Worker from 'web-worker' ;
4
+
5
+ export default function create ( ) {
6
+ return new Worker ( new URL ( './decoder.js' , import . meta. url ) , {
7
+ type : 'module' ,
8
+ } ) ;
9
+ }
You can’t perform that action at this time.
0 commit comments