@scrypted/server 0.115.38 → 0.115.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugin/runtime/node-fork-worker.js +5 -1
- package/dist/plugin/runtime/node-fork-worker.js.map +1 -1
- package/dist/scrypted-main-exports.js +2 -2
- package/dist/scrypted-main-exports.js.map +1 -1
- package/package.json +1 -1
- package/src/plugin/runtime/node-fork-worker.ts +5 -1
- package/src/scrypted-main-exports.ts +2 -2
@@ -8,6 +8,7 @@ const child_process_1 = __importDefault(require("child_process"));
|
|
8
8
|
const net_1 = __importDefault(require("net"));
|
9
9
|
const socket_serializer_1 = require("../socket-serializer");
|
10
10
|
const child_process_worker_1 = require("./child-process-worker");
|
11
|
+
const worker_threads_1 = __importDefault(require("worker_threads"));
|
11
12
|
class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
|
12
13
|
constructor(mainFilename, pluginId, options) {
|
13
14
|
super(pluginId, options);
|
@@ -16,7 +17,10 @@ class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
|
|
16
17
|
if (pluginDebug) {
|
17
18
|
execArgv.push(`--inspect=0.0.0.0:${pluginDebug.inspectPort}`);
|
18
19
|
}
|
19
|
-
this.worker = child_process_1.default.fork(mainFilename, [
|
20
|
+
this.worker = child_process_1.default.fork(mainFilename, [
|
21
|
+
worker_threads_1.default.isMainThread ? 'child' : 'fork',
|
22
|
+
this.pluginId
|
23
|
+
], {
|
20
24
|
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
21
25
|
env: Object.assign({}, process.env, env),
|
22
26
|
serialization: 'advanced',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAC1C,8CAAsB;AAEtB,4DAAgE;AAChE,iEAA4D;
|
1
|
+
{"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAC1C,8CAAsB;AAEtB,4DAAgE;AAChE,iEAA4D;AAE5D,oEAA4C;AAE5C,MAAa,cAAe,SAAQ,yCAAkB;IAElD,YAAY,YAAoB,EAAE,QAAgB,EAAE,OAA6B;QAC7E,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAErC,MAAM,QAAQ,GAAa,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,IAAI,CAAC,YAAY,EAAE;YAC3C,wBAAc,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC9C,IAAI,CAAC,QAAQ;SAChB,EAAE;YACC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACxC,aAAa,EAAE,UAAU;YACzB,QAAQ;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,IAAa;QACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YAC9C,IAAK,OAAe,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,OAAc,EAAE;oBAC/B,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBACI,IAAI,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,OAAc,CAAC,CAAC;YACvC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,aAAG,CAAC,MAAM,EAAE,aAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,4CAAwB,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,MAA2B,EAAE,oBAA0B;QAC7E,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE;gBAC5D,IAAI,CAAC,IAAI,MAAM;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5B,CAAC;CACJ;AA7DD,wCA6DC"}
|
@@ -16,7 +16,7 @@ const plugin_error_1 = require("./plugin/plugin-error");
|
|
16
16
|
const plugin_volume_1 = require("./plugin/plugin-volume");
|
17
17
|
const rpc_1 = require("./rpc");
|
18
18
|
function isChildProcess() {
|
19
|
-
return process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'child-thread';
|
19
|
+
return process_1.default.argv[2] === 'child' || process_1.default.argv[2] === 'fork' || process_1.default.argv[2] === 'child-thread';
|
20
20
|
}
|
21
21
|
function start(mainFilename, options) {
|
22
22
|
// Allow including a custom file path for platforms that require
|
@@ -38,7 +38,7 @@ function start(mainFilename, options) {
|
|
38
38
|
// The workaround is to favor IPv4.
|
39
39
|
dns_1.default.setDefaultResultOrder('ipv4first');
|
40
40
|
(0, rpc_1.startPeriodicGarbageCollection)();
|
41
|
-
if (
|
41
|
+
if (isChildProcess()) {
|
42
42
|
// plugins should never crash. this handler will be removed, and then readded
|
43
43
|
// after the plugin source map is retrieved.
|
44
44
|
process_1.default.on('uncaughtException', e => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;AAaA,wCAEC;AAfD,8CAAsB;AACtB,oDAA4B;AAC5B,4CAAoB;AACpB,gDAAwB;AACxB,sDAA8B;AAC9B,oDAA4B;AAC5B,4CAAoB;AACpB,4CAAoB;AACpB,wDAAoD;AACpD,0DAA2D;AAC3D,+BAAuE;AAGvE,SAAgB,cAAc;IAC1B,OAAO,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,
|
1
|
+
{"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;AAaA,wCAEC;AAfD,8CAAsB;AACtB,oDAA4B;AAC5B,4CAAoB;AACpB,gDAAwB;AACxB,sDAA8B;AAC9B,oDAA4B;AAC5B,4CAAoB;AACpB,4CAAoB;AACpB,wDAAoD;AACpD,0DAA2D;AAC3D,+BAAuE;AAGvE,SAAgB,cAAc;IAC1B,OAAO,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC;AAC3G,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB,EAAE,OAEpC;IACG,gEAAgE;IAChE,8DAA8D;IAC9D,gBAAgB;IAChB,IAAI,iBAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,YAAE,CAAC,UAAU,CAAC,iBAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACpG,OAAO,CAAC,iBAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACjB,YAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACpC,UAAU,CAAC,EAAE,GAAG,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,gBAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACvF,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,6DAA6D;IAC7D,mCAAmC;IACnC,aAAG,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAA,oCAA8B,GAAE,CAAC;IAEjC,IAAI,cAAc,EAAE,EAAE,CAAC;QACnB,6EAA6E;QAC7E,4CAA4C;QAC5C,iBAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;SACI,CAAC;QACF,uEAAuE;QACvE,iBAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE;YACrC,IAAI,KAAK,EAAE,WAAW,KAAK,oBAAc,IAAI,KAAK,EAAE,WAAW,KAAK,0BAAW,EAAE,CAAC;gBAC9E,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,gBAAM,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,IAAA,iCAAiB,GAAE,EAAE,MAAM,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
|
package/package.json
CHANGED
@@ -4,6 +4,7 @@ import { RpcMessage, RpcPeer } from "../../rpc";
|
|
4
4
|
import { SidebandSocketSerializer } from "../socket-serializer";
|
5
5
|
import { ChildProcessWorker } from "./child-process-worker";
|
6
6
|
import { RuntimeWorkerOptions } from "./runtime-worker";
|
7
|
+
import worker_threads from 'worker_threads';
|
7
8
|
|
8
9
|
export class NodeForkWorker extends ChildProcessWorker {
|
9
10
|
|
@@ -17,7 +18,10 @@ export class NodeForkWorker extends ChildProcessWorker {
|
|
17
18
|
execArgv.push(`--inspect=0.0.0.0:${pluginDebug.inspectPort}`);
|
18
19
|
}
|
19
20
|
|
20
|
-
this.worker = child_process.fork(mainFilename, [
|
21
|
+
this.worker = child_process.fork(mainFilename, [
|
22
|
+
worker_threads.isMainThread ? 'child' : 'fork',
|
23
|
+
this.pluginId
|
24
|
+
], {
|
21
25
|
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
22
26
|
env: Object.assign({}, process.env, env),
|
23
27
|
serialization: 'advanced',
|
@@ -12,7 +12,7 @@ import { RPCResultError, startPeriodicGarbageCollection } from './rpc';
|
|
12
12
|
import type { Runtime } from './scrypted-server-main';
|
13
13
|
|
14
14
|
export function isChildProcess() {
|
15
|
-
return process.argv[2] === 'child' || process.argv[2] === 'child-thread'
|
15
|
+
return process.argv[2] === 'child' || process.argv[2] === 'fork' || process.argv[2] === 'child-thread';
|
16
16
|
}
|
17
17
|
|
18
18
|
function start(mainFilename: string, options?: {
|
@@ -42,7 +42,7 @@ function start(mainFilename: string, options?: {
|
|
42
42
|
|
43
43
|
startPeriodicGarbageCollection();
|
44
44
|
|
45
|
-
if (
|
45
|
+
if (isChildProcess()) {
|
46
46
|
// plugins should never crash. this handler will be removed, and then readded
|
47
47
|
// after the plugin source map is retrieved.
|
48
48
|
process.on('uncaughtException', e => {
|