ResetEvent: use futex on linux when possible
This commit is contained in:
parent
ac5ba27c2b
commit
26e08d5701
@ -14,10 +14,13 @@ const windows = os.windows;
|
|||||||
pub const ResetEvent = struct {
|
pub const ResetEvent = struct {
|
||||||
os_event: OsEvent,
|
os_event: OsEvent,
|
||||||
|
|
||||||
pub const OsEvent = if (builtin.single_threaded) DebugEvent else switch (builtin.os) {
|
pub const OsEvent =
|
||||||
.windows => AtomicEvent,
|
if (builtin.single_threaded)
|
||||||
else => if (builtin.link_libc) PosixEvent else AtomicEvent,
|
DebugEvent
|
||||||
};
|
else if (builtin.link_libc and builtin.os != .windows and builtin.os != .linux)
|
||||||
|
PosixEvent
|
||||||
|
else
|
||||||
|
AtomicEvent;
|
||||||
|
|
||||||
pub fn init() ResetEvent {
|
pub fn init() ResetEvent {
|
||||||
return ResetEvent{ .os_event = OsEvent.init() };
|
return ResetEvent{ .os_event = OsEvent.init() };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user