fix: Update pipe path handling for cross-platform compatibility in ChildWorker and PipeName

This commit is contained in:
Holger Börchers
2026-02-24 20:39:01 +01:00
parent f7b038faf9
commit 16ac692037
2 changed files with 10 additions and 3 deletions

View File

@@ -206,9 +206,12 @@ function sleep(ms, signal) {
// Main
// ─────────────────────────────────────────────────────────────────────────────
// .NET uses different pipe paths per platform:
// - Windows: \\.\pipe\{pipeName}
// - Unix/macOS: /tmp/CoreFxPipe_{pipeName}
const pipePath = process.platform === 'win32'
? `\\\\.\\pipe\\${pipeName}`
: `/tmp/${pipeName}`;
: `/tmp/CoreFxPipe_${pipeName}`;
const socket = net.createConnection(pipePath, () => {
// Connection established - send hello

View File

@@ -1,4 +1,5 @@
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace CommIpc;
@@ -14,7 +15,10 @@ public static class PipeName
}
/// <summary>
/// Helpful for logs / debugging.
/// Returns the full pipe path for the current platform.
/// Windows: \\.\pipe\{pipeName}
/// Unix/macOS: /tmp/CoreFxPipe_{pipeName}
/// </summary>
public static string Describe(string pipeName) => $"\\\\.\\pipe\\{pipeName}";
public static string Describe(string pipeName) =>
RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? $"\\\\.\\pipe\\{pipeName}" : $"/tmp/CoreFxPipe_{pipeName}";
}