@scrypted/server 0.115.40 → 0.115.41

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.
@@ -1,7 +1,13 @@
1
1
  import { RpcMessage, RpcPeer } from "../../rpc";
2
2
  import { ChildProcessWorker } from "./child-process-worker";
3
3
  import { RuntimeWorkerOptions } from "./runtime-worker";
4
- export declare function isChildProcess(): boolean;
4
+ export declare const NODE_PLUGIN_CHILD_PROCESS = "child";
5
+ export declare const NODE_PLUGIN_FORK_PROCESS = "fork";
6
+ export declare const NODE_PLUGIN_THREAD_PROCESS = "child-thread";
7
+ export declare function isNodePluginWorkerProcess(): boolean;
8
+ export declare function isNodePluginForkProcess(): boolean;
9
+ export declare function isNodePluginThreadProcess(): boolean;
10
+ export declare function isNodePluginChildProcess(): boolean;
5
11
  export declare class NodeForkWorker extends ChildProcessWorker {
6
12
  constructor(mainFilename: string, pluginId: string, options: RuntimeWorkerOptions);
7
13
  setupRpcPeer(peer: RpcPeer): void;
@@ -3,14 +3,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NodeForkWorker = void 0;
7
- exports.isChildProcess = isChildProcess;
6
+ exports.NodeForkWorker = exports.NODE_PLUGIN_THREAD_PROCESS = exports.NODE_PLUGIN_FORK_PROCESS = exports.NODE_PLUGIN_CHILD_PROCESS = void 0;
7
+ exports.isNodePluginWorkerProcess = isNodePluginWorkerProcess;
8
+ exports.isNodePluginForkProcess = isNodePluginForkProcess;
9
+ exports.isNodePluginThreadProcess = isNodePluginThreadProcess;
10
+ exports.isNodePluginChildProcess = isNodePluginChildProcess;
8
11
  const child_process_1 = __importDefault(require("child_process"));
9
12
  const net_1 = __importDefault(require("net"));
10
13
  const socket_serializer_1 = require("../socket-serializer");
11
14
  const child_process_worker_1 = require("./child-process-worker");
12
- function isChildProcess() {
13
- return process.argv[2] === 'child' || process.argv[2] === 'fork' || process.argv[2] === 'child-thread';
15
+ exports.NODE_PLUGIN_CHILD_PROCESS = 'child';
16
+ exports.NODE_PLUGIN_FORK_PROCESS = 'fork';
17
+ exports.NODE_PLUGIN_THREAD_PROCESS = 'child-thread';
18
+ function isNodePluginWorkerProcess() {
19
+ return isNodePluginChildProcess() || isNodePluginForkProcess() || isNodePluginThreadProcess();
20
+ }
21
+ function isNodePluginForkProcess() {
22
+ return process.argv[2] === exports.NODE_PLUGIN_FORK_PROCESS;
23
+ }
24
+ function isNodePluginThreadProcess() {
25
+ return process.argv[2] === exports.NODE_PLUGIN_THREAD_PROCESS;
26
+ }
27
+ function isNodePluginChildProcess() {
28
+ return process.argv[2] === exports.NODE_PLUGIN_CHILD_PROCESS;
14
29
  }
15
30
  class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
16
31
  constructor(mainFilename, pluginId, options) {
@@ -21,7 +36,9 @@ class NodeForkWorker extends child_process_worker_1.ChildProcessWorker {
21
36
  execArgv.push(`--inspect=0.0.0.0:${pluginDebug.inspectPort}`);
22
37
  }
23
38
  this.worker = child_process_1.default.fork(mainFilename, [
24
- isChildProcess() ? 'fork' : 'child',
39
+ // change the argument marker depending on whether this is the main scrypted server process
40
+ // starting a plugin vs the plugin forking for multiprocessing.
41
+ isNodePluginWorkerProcess() ? exports.NODE_PLUGIN_FORK_PROCESS : exports.NODE_PLUGIN_CHILD_PROCESS,
25
42
  this.pluginId
26
43
  ], {
27
44
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
@@ -1 +1 @@
1
- {"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-fork-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-fork-worker.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const worker_threads_1 = __importDefault(require("worker_threads"));
8
8
  const events_1 = require("events");
9
9
  const rpc_1 = require("../../rpc");
10
10
  const rpc_buffer_serializer_1 = require("../../rpc-buffer-serializer");
11
+ const node_fork_worker_1 = require("./node-fork-worker");
11
12
  class BufferTransfer {
12
13
  bufferSerializer = new rpc_buffer_serializer_1.BufferSerializer();
13
14
  serialize(value, serializationContext) {
@@ -46,7 +47,7 @@ class NodeThreadWorker extends events_1.EventEmitter {
46
47
  const message = new worker_threads_1.default.MessageChannel();
47
48
  const { port1, port2 } = message;
48
49
  this.worker = new worker_threads_1.default.Worker(mainFilename, {
49
- argv: ['child-thread', this.pluginId],
50
+ argv: [node_fork_worker_1.NODE_PLUGIN_THREAD_PROCESS, this.pluginId],
50
51
  env: Object.assign({}, process.env, env),
51
52
  workerData: {
52
53
  port: port1,
@@ -1 +1 @@
1
- {"version":3,"file":"node-thread-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-thread-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-thread-worker.js","sourceRoot":"","sources":["../../../src/plugin/runtime/node-thread-worker.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ function start(mainFilename, options) {
35
35
  // The workaround is to favor IPv4.
36
36
  dns_1.default.setDefaultResultOrder('ipv4first');
37
37
  (0, rpc_1.startPeriodicGarbageCollection)();
38
- if ((0, node_fork_worker_1.isChildProcess)()) {
38
+ if ((0, node_fork_worker_1.isNodePluginWorkerProcess)()) {
39
39
  // plugins should never crash. this handler will be removed, and then readded
40
40
  // after the plugin source map is retrieved.
41
41
  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,8CAAsB;AACtB,oDAA4B;AAC5B,4CAAoB;AACpB,gDAAwB;AACxB,sDAA8B;AAC9B,oDAA4B;AAC5B,4CAAoB;AACpB,4CAAoB;AACpB,wDAAoD;AACpD,0DAA2D;AAC3D,+BAAuE;AAEvE,wEAAmE;AAGnE,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,IAAA,iCAAc,GAAE,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"}
1
+ {"version":3,"file":"scrypted-main-exports.js","sourceRoot":"","sources":["../src/scrypted-main-exports.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AACtB,oDAA4B;AAC5B,4CAAoB;AACpB,gDAAwB;AACxB,sDAA8B;AAC9B,oDAA4B;AAC5B,4CAAoB;AACpB,4CAAoB;AACpB,wDAAoD;AACpD,0DAA2D;AAC3D,+BAAuE;AAEvE,wEAA8E;AAG9E,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,IAAA,4CAAyB,GAAE,EAAE,CAAC;QAC9B,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"}
@@ -9,10 +9,11 @@ const plugin_npm_dependencies_1 = require("./plugin/plugin-npm-dependencies");
9
9
  const plugin_remote_worker_1 = require("./plugin/plugin-remote-worker");
10
10
  const socket_serializer_1 = require("./plugin/socket-serializer");
11
11
  const node_thread_worker_1 = require("./plugin/runtime/node-thread-worker");
12
+ const node_fork_worker_1 = require("./plugin/runtime/node-fork-worker");
12
13
  function start(mainFilename) {
13
14
  const pluginId = process.argv[3];
14
15
  module.paths.push((0, plugin_npm_dependencies_1.getPluginNodePath)(pluginId));
15
- if (process.argv[2] === 'child-thread') {
16
+ if ((0, node_fork_worker_1.isNodePluginThreadProcess)()) {
16
17
  console.log('starting thread', pluginId);
17
18
  const { port } = worker_threads_1.default.workerData;
18
19
  const peer = (0, plugin_remote_worker_1.startPluginRemote)(mainFilename, pluginId, (message, reject, serializationContext) => node_thread_worker_1.NodeThreadWorker.send(message, port, reject, serializationContext));
@@ -1 +1 @@
1
- {"version":3,"file":"scrypted-plugin-main.js","sourceRoot":"","sources":["../src/scrypted-plugin-main.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AACtB,oEAA4C;AAC5C,8EAAqE;AACrE,wEAAkE;AAClE,kEAAsE;AAEtE,4EAAuE;AAEvE,SAAS,KAAK,CAAC,YAAoB;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,2CAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,GAAG,wBAAc,CAAC,UAAkD,CAAC;QACnF,MAAM,IAAI,GAAG,IAAA,wCAAiB,EAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,qCAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACtK,qCAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;SACI,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,wCAAiB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE;QAC7J,kCAAkC;QAClC,0BAA0B;SAC7B,EAAE,CAAC,CAAC,EAAE;YACH,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;QAEJ,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;QAChF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAqB,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"scrypted-plugin-main.js","sourceRoot":"","sources":["../src/scrypted-plugin-main.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AACtB,oEAA4C;AAC5C,8EAAqE;AACrE,wEAAkE;AAClE,kEAAsE;AAEtE,4EAAuE;AACvE,wEAA8E;AAE9E,SAAS,KAAK,CAAC,YAAoB;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,2CAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,IAAI,IAAA,4CAAyB,GAAE,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,GAAG,wBAAc,CAAC,UAAkD,CAAC;QACnF,MAAM,IAAI,GAAG,IAAA,wCAAiB,EAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,qCAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACtK,qCAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;SACI,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAA,wCAAiB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE;QAC7J,kCAAkC;QAClC,0BAA0B;SAC7B,EAAE,CAAC,CAAC,EAAE;YACH,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;QAEJ,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;QAChF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAqB,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,kBAAe,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrypted/server",
3
- "version": "0.115.40",
3
+ "version": "0.115.41",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "@scrypted/ffmpeg-static": "^6.1.0-build1",
@@ -5,8 +5,24 @@ import { SidebandSocketSerializer } from "../socket-serializer";
5
5
  import { ChildProcessWorker } from "./child-process-worker";
6
6
  import { RuntimeWorkerOptions } from "./runtime-worker";
7
7
 
8
- export function isChildProcess() {
9
- return process.argv[2] === 'child' || process.argv[2] === 'fork' || process.argv[2] === 'child-thread';
8
+ export const NODE_PLUGIN_CHILD_PROCESS = 'child';
9
+ export const NODE_PLUGIN_FORK_PROCESS = 'fork';
10
+ export const NODE_PLUGIN_THREAD_PROCESS = 'child-thread';
11
+
12
+ export function isNodePluginWorkerProcess() {
13
+ return isNodePluginChildProcess() || isNodePluginForkProcess() || isNodePluginThreadProcess();
14
+ }
15
+
16
+ export function isNodePluginForkProcess() {
17
+ return process.argv[2] === NODE_PLUGIN_FORK_PROCESS;
18
+ }
19
+
20
+ export function isNodePluginThreadProcess() {
21
+ return process.argv[2] === NODE_PLUGIN_THREAD_PROCESS;
22
+ }
23
+
24
+ export function isNodePluginChildProcess() {
25
+ return process.argv[2] === NODE_PLUGIN_CHILD_PROCESS;
10
26
  }
11
27
 
12
28
  export class NodeForkWorker extends ChildProcessWorker {
@@ -22,7 +38,9 @@ export class NodeForkWorker extends ChildProcessWorker {
22
38
  }
23
39
 
24
40
  this.worker = child_process.fork(mainFilename, [
25
- isChildProcess() ? 'fork': 'child',
41
+ // change the argument marker depending on whether this is the main scrypted server process
42
+ // starting a plugin vs the plugin forking for multiprocessing.
43
+ isNodePluginWorkerProcess() ? NODE_PLUGIN_FORK_PROCESS : NODE_PLUGIN_CHILD_PROCESS,
26
44
  this.pluginId
27
45
  ], {
28
46
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
@@ -3,6 +3,7 @@ import { EventEmitter } from "events";
3
3
  import { RpcMessage, RpcPeer, RpcSerializer } from "../../rpc";
4
4
  import { RuntimeWorker, RuntimeWorkerOptions } from "./runtime-worker";
5
5
  import { BufferSerializer } from '../../rpc-buffer-serializer';
6
+ import { NODE_PLUGIN_THREAD_PROCESS } from "./node-fork-worker";
6
7
 
7
8
 
8
9
  class BufferTransfer implements RpcSerializer {
@@ -53,7 +54,7 @@ export class NodeThreadWorker extends EventEmitter implements RuntimeWorker {
53
54
  const message = new worker_threads.MessageChannel();
54
55
  const { port1, port2 } = message;
55
56
  this.worker = new worker_threads.Worker(mainFilename, {
56
- argv: ['child-thread', this.pluginId],
57
+ argv: [NODE_PLUGIN_THREAD_PROCESS, this.pluginId],
57
58
  env: Object.assign({}, process.env, env),
58
59
  workerData: {
59
60
  port: port1,
@@ -10,7 +10,7 @@ import { PluginError } from './plugin/plugin-error';
10
10
  import { getScryptedVolume } from './plugin/plugin-volume';
11
11
  import { RPCResultError, startPeriodicGarbageCollection } from './rpc';
12
12
  import type { Runtime } from './scrypted-server-main';
13
- import { isChildProcess } from './plugin/runtime/node-fork-worker';
13
+ import { isNodePluginWorkerProcess } from './plugin/runtime/node-fork-worker';
14
14
 
15
15
 
16
16
  function start(mainFilename: string, options?: {
@@ -40,7 +40,7 @@ function start(mainFilename: string, options?: {
40
40
 
41
41
  startPeriodicGarbageCollection();
42
42
 
43
- if (isChildProcess()) {
43
+ if (isNodePluginWorkerProcess()) {
44
44
  // plugins should never crash. this handler will be removed, and then readded
45
45
  // after the plugin source map is retrieved.
46
46
  process.on('uncaughtException', e => {
@@ -5,12 +5,13 @@ import { startPluginRemote } from "./plugin/plugin-remote-worker";
5
5
  import { SidebandSocketSerializer } from "./plugin/socket-serializer";
6
6
  import { RpcMessage } from "./rpc";
7
7
  import { NodeThreadWorker } from './plugin/runtime/node-thread-worker';
8
+ import { isNodePluginThreadProcess } from './plugin/runtime/node-fork-worker';
8
9
 
9
10
  function start(mainFilename: string) {
10
11
  const pluginId = process.argv[3];
11
12
  module.paths.push(getPluginNodePath(pluginId));
12
13
 
13
- if (process.argv[2] === 'child-thread') {
14
+ if (isNodePluginThreadProcess()) {
14
15
  console.log('starting thread', pluginId);
15
16
  const { port } = worker_threads.workerData as { port: worker_threads.MessagePort };
16
17
  const peer = startPluginRemote(mainFilename, pluginId, (message, reject, serializationContext) => NodeThreadWorker.send(message, port, reject, serializationContext));