diff --git a/src/util/util/ipc/listener/RabbitMqSingleListener.ts b/src/util/util/ipc/listener/RabbitMqSingleListener.ts
index b5fd5efd..d120e70a 100644
--- a/src/util/util/ipc/listener/RabbitMqSingleListener.ts
+++ b/src/util/util/ipc/listener/RabbitMqSingleListener.ts
@@ -51,7 +51,7 @@ export class RabbitMqSingleListener extends BaseEventListener {
this.channel = await this.connection.createChannel();
for (const sig of ["SIGINT", "SIGTERM", "SIGQUIT"] as const) {
- process.on(sig, this.close);
+ process.on(sig, () => this.close());
}
this.connection.on("error", (err) => {
diff --git a/src/util/util/ipc/listener/UnixSocketListener.ts b/src/util/util/ipc/listener/UnixSocketListener.ts
index 8ead85bd..9465e9ca 100644
--- a/src/util/util/ipc/listener/UnixSocketListener.ts
+++ b/src/util/util/ipc/listener/UnixSocketListener.ts
@@ -26,6 +26,7 @@ export class UnixSocketListener extends BaseEventListener {
eventEmitter: EventEmitter;
socketPath: string;
server: Server;
+ isInitialized = false;
constructor(socketPath: string) {
super();
@@ -47,7 +48,7 @@ export class UnixSocketListener extends BaseEventListener {
this.server = net.createServer((socket) => {
socket.on("connect", () => {
- console.log("[UnixSocketListener] Unix socket client connected");
+ console.log("[UnixSocketListener] Unix socket client connected, now at", this.server.connections, "connections...");
});
let buffer = Buffer.alloc(0);
socket.on("data", (data: Buffer) => {
@@ -74,15 +75,20 @@ export class UnixSocketListener extends BaseEventListener {
});
this.server.listen(this.socketPath, () => {
- console.log(`Unix socket server listening on ${this.socketPath}`);
+ console.log(`[UnixSocketListener] Listening on ${this.socketPath}`);
});
for (const sig of ["SIGINT", "SIGTERM", "SIGQUIT"] as const) {
- process.on(sig, this.close);
+ process.on(sig, () => this.close());
}
+ this.isInitialized = true;
}
async close(): Promise<void> {
+ if (!this.isInitialized) {
+ console.log("[UnixSocketListener] close() called before init! - Path:", this.socketPath, " - server:", this.server, " - this:", this);
+ }
+
console.log("[UnixSocketListener] Closing unix socket server");
this.server.close();
@@ -92,8 +98,6 @@ export class UnixSocketListener extends BaseEventListener {
} catch (e) {
console.error("[UnixSocketListener] Failed to unlink socket file:", e);
}
-
- process.exit(0);
}
async listen(event: string, callback: (event: EventOpts) => unknown): Promise<() => Promise<void>> {
diff --git a/src/util/util/ipc/writer/RabbitMqSingleWriter.ts b/src/util/util/ipc/writer/RabbitMqSingleWriter.ts
index 28781c6d..72a0d08c 100644
--- a/src/util/util/ipc/writer/RabbitMqSingleWriter.ts
+++ b/src/util/util/ipc/writer/RabbitMqSingleWriter.ts
@@ -47,7 +47,7 @@ export class RabbitMqSingleWriter extends BaseEventWriter {
this.channel = await this.connection.createChannel();
for (const sig of ["SIGINT", "SIGTERM", "SIGQUIT"] as const) {
- process.on(sig, this.close);
+ process.on(sig, () => this.close());
}
this.connection.on("error", (err) => {
diff --git a/src/util/util/ipc/writer/UnixSocketWriter.ts b/src/util/util/ipc/writer/UnixSocketWriter.ts
index 53b9564c..e3b91de8 100644
--- a/src/util/util/ipc/writer/UnixSocketWriter.ts
+++ b/src/util/util/ipc/writer/UnixSocketWriter.ts
@@ -142,6 +142,10 @@ export class UnixSocketWriter extends BaseEventWriter {
console.error("[UnixSocketWriter] Unix socket writer failed to read directory:", err);
}
+ for (const sig of ["SIGINT", "SIGTERM", "SIGQUIT"] as const) {
+ process.on(sig, () => this.close());
+ }
+
this.isInitializing = false;
}
|