Skip to content

Commit e2a3fda

Browse files
author
Kartik Raj
committed
only execute if inside worker thread
1 parent 06e41c0 commit e2a3fda

File tree

2 files changed

+32
-28
lines changed

2 files changed

+32
-28
lines changed
Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
import { parentPort, workerData } from 'worker_threads';
1+
import { isMainThread, parentPort, workerData } from 'worker_threads';
22
import { workerPlainExec } from './workerRawProcessApis';
33

4-
workerPlainExec(workerData.file, workerData.args, workerData.options, workerData.defaultEnv, workerData.disposables)
5-
.then((res) => {
6-
if (!parentPort) {
7-
throw new Error('Not in a worker thread');
8-
}
9-
parentPort.postMessage({ res });
10-
})
11-
.catch((err) => {
12-
if (!parentPort) {
13-
throw new Error('Not in a worker thread');
14-
}
15-
parentPort.postMessage({ err });
16-
});
4+
if (!isMainThread) {
5+
workerPlainExec(workerData.file, workerData.args, workerData.options, workerData.defaultEnv, workerData.disposables)
6+
.then((res) => {
7+
if (!parentPort) {
8+
throw new Error('Not in a worker thread');
9+
}
10+
parentPort.postMessage({ res });
11+
})
12+
.catch((err) => {
13+
if (!parentPort) {
14+
throw new Error('Not in a worker thread');
15+
}
16+
parentPort.postMessage({ err });
17+
});
18+
}
Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
import { parentPort, workerData } from 'worker_threads';
1+
import { isMainThread, parentPort, workerData } from 'worker_threads';
22
import { workerShellExec } from './workerRawProcessApis';
33

4-
workerShellExec(workerData.command, workerData.options, workerData.defaultEnv, workerData.disposables)
5-
.then((res) => {
6-
if (!parentPort) {
7-
throw new Error('Not in a worker thread');
8-
}
9-
parentPort.postMessage(res);
10-
})
11-
.catch((ex) => {
12-
if (!parentPort) {
13-
throw new Error('Not in a worker thread');
14-
}
15-
parentPort.postMessage(ex);
16-
});
4+
if (!isMainThread) {
5+
workerShellExec(workerData.command, workerData.options, workerData.defaultEnv, workerData.disposables)
6+
.then((res) => {
7+
if (!parentPort) {
8+
throw new Error('Not in a worker thread');
9+
}
10+
parentPort.postMessage(res);
11+
})
12+
.catch((ex) => {
13+
if (!parentPort) {
14+
throw new Error('Not in a worker thread');
15+
}
16+
parentPort.postMessage(ex);
17+
});
18+
}

0 commit comments

Comments
 (0)