std.Io.Threaded: fix setting of O_NONBLOCK flag

This commit is contained in:
Andrew Kelley 2025-10-23 04:27:10 -07:00
parent f17c6bba57
commit 1b0dcd4007

View File

@ -1651,7 +1651,7 @@ fn dirCreateFilePosix(
else => |err| return posix.unexpectedErrno(err),
}
};
fl_flags &= ~@as(usize, 1 << @bitOffsetOf(posix.O, "NONBLOCK"));
fl_flags |= @as(usize, 1 << @bitOffsetOf(posix.O, "NONBLOCK"));
while (true) {
try t.checkCancel();
switch (posix.errno(posix.system.fcntl(fd, posix.F.SETFL, fl_flags))) {
@ -1897,7 +1897,7 @@ fn dirOpenFilePosix(
else => |err| return posix.unexpectedErrno(err),
}
};
fl_flags &= ~@as(usize, 1 << @bitOffsetOf(posix.O, "NONBLOCK"));
fl_flags |= @as(usize, 1 << @bitOffsetOf(posix.O, "NONBLOCK"));
while (true) {
try t.checkCancel();
switch (posix.errno(posix.system.fcntl(fd, posix.F.SETFL, fl_flags))) {