File tree Expand file tree Collapse file tree 1 file changed +16
-5
lines changed
Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -73,7 +73,6 @@ function spawnThread (startArg: number, threadId?: Int32Array): number {
7373 if ( ENVIRONMENT_IS_PTHREAD ) {
7474 const threadIdBuffer = new SharedArrayBuffer ( 4 )
7575 const id = new Int32Array ( threadIdBuffer )
76- Atomics . store ( id , 0 , - 1 )
7776 const postMessage = napiModule . postMessage !
7877 postMessage ( {
7978 __emnapi__ : {
@@ -84,15 +83,27 @@ function spawnThread (startArg: number, threadId?: Int32Array): number {
8483 }
8584 }
8685 } )
87- Atomics . wait ( id , 0 , - 1 )
86+ Atomics . wait ( id , 0 , 0 )
8887 const tid = Atomics . load ( id , 0 )
8988 return tid
9089 }
9190
92- if ( typeof onCreateWorker !== 'function' ) {
93- throw new TypeError ( 'createNapiModule `options.onCreateWorker` is not provided' )
91+ let worker : any
92+ try {
93+ if ( typeof onCreateWorker !== 'function' ) {
94+ throw new TypeError ( 'createNapiModule `options.onCreateWorker` is not provided' )
95+ }
96+ worker = onCreateWorker ( )
97+ } catch ( err ) {
98+ const EAGAIN = 6
99+ const ret = - EAGAIN
100+ if ( threadId ) {
101+ Atomics . store ( threadId , 0 , ret )
102+ Atomics . notify ( threadId , 0 )
103+ }
104+ err ( err . message )
105+ return ret
94106 }
95- const worker = onCreateWorker ( )
96107
97108 worker . onmessage = function ( e : any ) {
98109 if ( e . data . __emnapi__ ) {
You can’t perform that action at this time.
0 commit comments