summaryrefslogtreecommitdiff
path: root/src/sys/event.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/event.rs')
-rw-r--r--src/sys/event.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sys/event.rs b/src/sys/event.rs
index d44963db..68528c9e 100644
--- a/src/sys/event.rs
+++ b/src/sys/event.rs
@@ -191,6 +191,13 @@ pub fn kqueue() -> Result<RawFd> {
Errno::result(res)
}
+
+// KEvent can't derive Send because on some operating systems, udata is defined
+// as a void*. However, KEvent's public API always treats udata as a uintptr_t,
+// which is safe to Send.
+unsafe impl Send for KEvent {
+}
+
impl KEvent {
pub fn new(ident: uintptr_t, filter: EventFilter, flags: EventFlag,
fflags:FilterFlag, data: intptr_t, udata: uintptr_t) -> KEvent {