Page MenuHomeFreeBSD

D22516.diff
No OneTemporary

D22516.diff

Index: head/sys/compat/linux/linux_event.h
===================================================================
--- head/sys/compat/linux/linux_event.h
+++ head/sys/compat/linux/linux_event.h
@@ -45,10 +45,10 @@
#define LINUX_EPOLLONESHOT 1u<<30
#define LINUX_EPOLLET 1u<<31
-#define LINUX_EPOLL_EVRD (LINUX_EPOLLIN|LINUX_EPOLLRDNORM \
- |LINUX_EPOLLHUP|LINUX_EPOLLERR|LINUX_EPOLLPRI)
+#define LINUX_EPOLL_EVRD (LINUX_EPOLLIN|LINUX_EPOLLRDNORM)
#define LINUX_EPOLL_EVWR (LINUX_EPOLLOUT|LINUX_EPOLLWRNORM)
#define LINUX_EPOLL_EVSUP (LINUX_EPOLLET|LINUX_EPOLLONESHOT \
+ |LINUX_EPOLLHUP|LINUX_EPOLLERR|LINUX_EPOLLPRI \
|LINUX_EPOLL_EVRD|LINUX_EPOLL_EVWR|LINUX_EPOLLRDHUP)
#define LINUX_EPOLL_CTL_ADD 1
Index: head/sys/compat/linux/linux_event.c
===================================================================
--- head/sys/compat/linux/linux_event.c
+++ head/sys/compat/linux/linux_event.c
@@ -325,6 +325,11 @@
EV_SET(kevent++, fd, EVFILT_WRITE, kev_flags, 0, 0, 0);
++(*nkevents);
}
+ /* zero event mask is legal */
+ if ((levents & (LINUX_EPOLL_EVRD | LINUX_EPOLL_EVWR)) == 0) {
+ EV_SET(kevent++, fd, EVFILT_READ, EV_ADD|EV_DISABLE, 0, 0, 0);
+ ++(*nkevents);
+ }
if ((levents & ~(LINUX_EPOLL_EVSUP)) != 0) {
p = td->td_proc;

File Metadata

Mime Type
text/plain
Expires
Wed, Dec 25, 7:29 PM (10 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15598192
Default Alt Text
D22516.diff (1 KB)

Event Timeline