mirror of
https://github.com/ziglang/zig.git
synced 2025-12-16 03:03:09 +00:00
openbsd: readapt event loop after usingnamespace changes
This commit is contained in:
parent
6237dc0ab8
commit
175d95b591
@ -348,8 +348,8 @@ pub const Loop = struct {
|
|||||||
// this one is for sending events
|
// this one is for sending events
|
||||||
.kevent = os.Kevent{
|
.kevent = os.Kevent{
|
||||||
.ident = i,
|
.ident = i,
|
||||||
.filter = os.EVFILT_TIMER,
|
.filter = os.system.EVFILT_TIMER,
|
||||||
.flags = os.EV_CLEAR | os.EV_ADD | os.EV_DISABLE | os.EV_ONESHOT,
|
.flags = os.system.EV_CLEAR | os.system.EV_ADD | os.system.EV_DISABLE | os.system.EV_ONESHOT,
|
||||||
.fflags = 0,
|
.fflags = 0,
|
||||||
.data = 0,
|
.data = 0,
|
||||||
.udata = @ptrToInt(&eventfd_node.data.base),
|
.udata = @ptrToInt(&eventfd_node.data.base),
|
||||||
@ -360,22 +360,22 @@ pub const Loop = struct {
|
|||||||
self.available_eventfd_resume_nodes.push(eventfd_node);
|
self.available_eventfd_resume_nodes.push(eventfd_node);
|
||||||
const kevent_array = @as(*const [1]os.Kevent, &eventfd_node.data.kevent);
|
const kevent_array = @as(*const [1]os.Kevent, &eventfd_node.data.kevent);
|
||||||
_ = try os.kevent(self.os_data.kqfd, kevent_array, empty_kevs, null);
|
_ = try os.kevent(self.os_data.kqfd, kevent_array, empty_kevs, null);
|
||||||
eventfd_node.data.kevent.flags = os.EV_CLEAR | os.EV_ENABLE;
|
eventfd_node.data.kevent.flags = os.system.EV_CLEAR | os.system.EV_ENABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pre-add so that we cannot get error.SystemResources
|
// Pre-add so that we cannot get error.SystemResources
|
||||||
// later when we try to activate it.
|
// later when we try to activate it.
|
||||||
self.os_data.final_kevent = os.Kevent{
|
self.os_data.final_kevent = os.Kevent{
|
||||||
.ident = extra_thread_count,
|
.ident = extra_thread_count,
|
||||||
.filter = os.EVFILT_TIMER,
|
.filter = os.system.EVFILT_TIMER,
|
||||||
.flags = os.EV_ADD | os.EV_ONESHOT | os.EV_DISABLE,
|
.flags = os.system.EV_ADD | os.system.EV_ONESHOT | os.system.EV_DISABLE,
|
||||||
.fflags = 0,
|
.fflags = 0,
|
||||||
.data = 0,
|
.data = 0,
|
||||||
.udata = @ptrToInt(&self.final_resume_node),
|
.udata = @ptrToInt(&self.final_resume_node),
|
||||||
};
|
};
|
||||||
const final_kev_arr = @as(*const [1]os.Kevent, &self.os_data.final_kevent);
|
const final_kev_arr = @as(*const [1]os.Kevent, &self.os_data.final_kevent);
|
||||||
_ = try os.kevent(self.os_data.kqfd, final_kev_arr, empty_kevs, null);
|
_ = try os.kevent(self.os_data.kqfd, final_kev_arr, empty_kevs, null);
|
||||||
self.os_data.final_kevent.flags = os.EV_ENABLE;
|
self.os_data.final_kevent.flags = os.system.EV_ENABLE;
|
||||||
|
|
||||||
if (builtin.single_threaded) {
|
if (builtin.single_threaded) {
|
||||||
assert(extra_thread_count == 0);
|
assert(extra_thread_count == 0);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user