diff options
author | dchagin <dchagin@FreeBSD.org> | 2015-05-24 16:41:39 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2015-05-24 16:41:39 +0000 |
commit | 5f069937a371c7564e82c238118d89cdaea83f4c (patch) | |
tree | cc1b56aa5e8699340dd426120945da740c872bdd /sys/compat/linux/linux_emul.h | |
parent | e7fb40a8a0408eebda8378dd35f1d806d84a0114 (diff) | |
download | FreeBSD-src-5f069937a371c7564e82c238118d89cdaea83f4c.zip FreeBSD-src-5f069937a371c7564e82c238118d89cdaea83f4c.tar.gz |
Implement epoll family system calls. This is a tiny wrapper
around kqueue() to implement epoll subset of functionality.
The kqueue user data are 32bit on i386 which is not enough for
epoll user data, so we keep user data in the proc emuldata.
Initial patch developed by rdivacky@ in 2007, then extended
by Yuri Victorovich @ r255672 and finished by me
in collaboration with mjg@ and jillies@.
Differential Revision: https://reviews.freebsd.org/D1092
Diffstat (limited to 'sys/compat/linux/linux_emul.h')
-rw-r--r-- | sys/compat/linux/linux_emul.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_emul.h b/sys/compat/linux/linux_emul.h index 2178701..3558b0a 100644 --- a/sys/compat/linux/linux_emul.h +++ b/sys/compat/linux/linux_emul.h @@ -60,9 +60,12 @@ int linux_common_execve(struct thread *, struct image_args *); /* process emuldata flags */ #define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated futex REQUEUE op*/ +#define LINUX_XUNSUP_EPOLL 0x00000002 /* unsupported epoll events */ + struct linux_pemuldata { uint32_t flags; /* process emuldata flags */ struct sx pem_sx; /* lock for this struct */ + void *epoll; /* epoll data */ }; #define LINUX_PEM_XLOCK(p) sx_xlock(&(p)->pem_sx) |