mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
Disable open flock flags on darwin
The tests were put into a deadlock, and it seems that darwin doesn't support `O_SYNC`, though it supports `O_NONBLOCK`. It shouldn't block even with that, but I'm not sure why else it would fail.
This commit is contained in:
parent
d0d7895d33
commit
772bb1ade3
@ -596,7 +596,8 @@ pub const Dir = struct {
|
||||
}
|
||||
|
||||
// Use the O_ locking flags if the os supports them
|
||||
const has_flock_open_flags = @hasDecl(os, "O_EXLOCK");
|
||||
// (Or if it's darwin, as darwin's `open` doesn't support the O_SYNC flag)
|
||||
const has_flock_open_flags = @hasDecl(os, "O_EXLOCK") and !builtin.os.tag.isDarwin();
|
||||
const nonblocking_lock_flag = if (has_flock_open_flags and flags.lock_nonblocking) (os.O_NONBLOCK | os.O_SYNC) else @as(u32, 0);
|
||||
const lock_flag: u32 = if (has_flock_open_flags) switch (flags.lock) {
|
||||
.None => @as(u32, 0),
|
||||
@ -678,7 +679,8 @@ pub const Dir = struct {
|
||||
}
|
||||
|
||||
// Use the O_ locking flags if the os supports them
|
||||
const has_flock_open_flags = @hasDecl(os, "O_EXLOCK");
|
||||
// (Or if it's darwin, as darwin's `open` doesn't support the O_SYNC flag)
|
||||
const has_flock_open_flags = @hasDecl(os, "O_EXLOCK") and !builtin.os.tag.isDarwin();
|
||||
const nonblocking_lock_flag = if (has_flock_open_flags and flags.lock_nonblocking) (os.O_NONBLOCK | os.O_SYNC) else @as(u32, 0);
|
||||
const lock_flag: u32 = if (has_flock_open_flags) switch (flags.lock) {
|
||||
.None => @as(u32, 0),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user