mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-18 17:56:09 +03:00
21 lines
631 B
Zig
21 lines
631 B
Zig
const std = @import("std");
|
|
const builtin = @import("builtin");
|
|
const windows = @import("windows.zig");
|
|
const posix = std.posix;
|
|
|
|
/// pipe() that works on Windows and POSIX.
|
|
pub fn pipe() ![2]posix.fd_t {
|
|
switch (builtin.os.tag) {
|
|
else => return try posix.pipe(),
|
|
.windows => {
|
|
var read: windows.HANDLE = undefined;
|
|
var write: windows.HANDLE = undefined;
|
|
if (windows.exp.kernel32.CreatePipe(&read, &write, null, 0) == 0) {
|
|
return windows.unexpectedError(windows.kernel32.GetLastError());
|
|
}
|
|
|
|
return .{ read, write };
|
|
},
|
|
}
|
|
}
|