forked from svrjs/svrjs
Fixed master spawning other masters while SVR.JS is run in Bun 0.7.x.
This commit is contained in:
parent
7cc4dbf4d2
commit
8ca945cdbd
2 changed files with 17 additions and 3 deletions
|
@ -3,7 +3,7 @@
|
||||||
"port": 80,
|
"port": 80,
|
||||||
"pubport": 80,
|
"pubport": 80,
|
||||||
"page404": "404.html",
|
"page404": "404.html",
|
||||||
"timestamp": 1691622823922,
|
"timestamp": 1691626302396,
|
||||||
"blacklist": [],
|
"blacklist": [],
|
||||||
"nonStandardCodes": [],
|
"nonStandardCodes": [],
|
||||||
"enableCompression": true,
|
"enableCompression": true,
|
||||||
|
|
18
svr.js
18
svr.js
|
@ -221,18 +221,32 @@ if (!singlethreaded) {
|
||||||
sendImplemented = false;
|
sendImplemented = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oldLog = console.log;
|
||||||
|
console.log = function(a,b,c,d,e,f) {
|
||||||
|
if(a == "ChildProcess.prototype.send() - Sorry! Not implemented yet") {
|
||||||
|
throw new Error("NOT IMPLEMENTED");
|
||||||
|
} else {
|
||||||
|
oldLog(a,b,c,d,e,f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
eval("'use strict';(" + String(worker.send).replace(/console\.log *\( *(["'])ChildProcess\.prototype\.send\(\) - Sorry! Not implemented yet\1 *\) *;?/, "throw new Error(\"NOT IMPLEMENTED\"); //") + ")(undefined)");
|
worker.send(undefined);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.message === "NOT IMPLEMENTED") {
|
if (err.message === "NOT IMPLEMENTED") {
|
||||||
sendImplemented = false;
|
sendImplemented = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log = oldLog;
|
||||||
|
|
||||||
return sendImplemented;
|
return sendImplemented;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!checkSendImplementation(newWorker)) {
|
if (!checkSendImplementation(newWorker)) {
|
||||||
|
var net = require("net");
|
||||||
|
var os = require("os");
|
||||||
|
|
||||||
// Create a fake IPC server for worker process to receive messages
|
// Create a fake IPC server for worker process to receive messages
|
||||||
var fakeWorkerIPCServer = net.createServer(function (socket) {
|
var fakeWorkerIPCServer = net.createServer(function (socket) {
|
||||||
var receivedData = "";
|
var receivedData = "";
|
||||||
|
@ -276,7 +290,7 @@ if (!singlethreaded) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process.isBun && cluster.isMaster === undefined) {
|
if (process.isBun && (cluster.isMaster === undefined || (cluster.isMaster && process.env.NODE_UNIQUE_ID))) {
|
||||||
cluster.bunShim();
|
cluster.bunShim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue