summaryrefslogtreecommitdiff
path: root/src/sys/event.rs
diff options
context:
space:
mode:
authorzethra <jediben97@gmail.com>2016-10-31 13:48:44 -0400
committerzethra <jediben97@gmail.com>2016-10-31 13:48:44 -0400
commitc0d6829cc43ffd37d535de0465018cb3b05af753 (patch)
tree152d6c259da5b6d3aeab84c0689ebe03bb082774 /src/sys/event.rs
parent18c85d5022f7abfea07724eaea0f6e3d77aaf733 (diff)
parent652e730f106fd3c103ba7549e64a7c992a72f11a (diff)
downloadnix-c0d6829cc43ffd37d535de0465018cb3b05af753.zip
Merge remote-tracking branch 'upstream/master'
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 {