pub fn closeFd(fd: posix.fd_t) void fd: posix.fd_t19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256pub fn closeFd(fd: posix.fd_t) void {
if (native_os == .wasi and !builtin.link_libc) {
switch (std.os.wasi.fd_close(fd)) {
.SUCCESS, .INTR => {},
.BADF => recoverableOsBugDetected(), // use after free
else => recoverableOsBugDetected(), // unexpected failure
}
} else switch (posix.errno(posix.system.close(fd))) {
.SUCCESS, .INTR => {}, // INTR still a success, see https://github.com/ziglang/zig/issues/2425
.BADF => recoverableOsBugDetected(), // use after free
else => recoverableOsBugDetected(), // unexpected failure
}
}