Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F106065118
D22516.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D22516.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D22516: Linux epoll: Register events with zero event mask.
Attached
Detach File
Event Timeline
Log In to Comment