Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linux/linux_event.c
Show First 20 Lines • Show All 325 Lines • ▼ Show 20 Lines | if ((levents & LINUX_EPOLL_EVWR) != 0) { | ||||
++(*nkevents); | ++(*nkevents); | ||||
} | } | ||||
/* zero event mask is legal */ | /* zero event mask is legal */ | ||||
if ((levents & (LINUX_EPOLL_EVRD | LINUX_EPOLL_EVWR)) == 0) { | if ((levents & (LINUX_EPOLL_EVRD | LINUX_EPOLL_EVWR)) == 0) { | ||||
EV_SET(kevent++, fd, EVFILT_READ, EV_ADD|EV_DISABLE, 0, 0, 0); | EV_SET(kevent++, fd, EVFILT_READ, EV_ADD|EV_DISABLE, 0, 0, 0); | ||||
++(*nkevents); | ++(*nkevents); | ||||
} | } | ||||
if (levents & LINUX_EPOLLEXCLUSIVE) { | |||||
LINUX_CTR1(linux_epollexclusive, "thread(%d) ignoring EPOLLEXCLUSIVE", | |||||
td->td_tid); | |||||
emaste: I think we should have a message for this case, and a comment with a brief description for the… | |||||
Done Inline Actionse.g. one of linux_msg, LINUX_SDT_PROBE, LINUX_CTR as appropriate emaste: e.g. one of `linux_msg`, `LINUX_SDT_PROBE`, `LINUX_CTR` as appropriate | |||||
levents &= ~LINUX_EPOLLEXCLUSIVE; | |||||
} | |||||
if ((levents & ~(LINUX_EPOLL_EVSUP)) != 0) { | if ((levents & ~(LINUX_EPOLL_EVSUP)) != 0) { | ||||
p = td->td_proc; | p = td->td_proc; | ||||
pem = pem_find(p); | pem = pem_find(p); | ||||
KASSERT(pem != NULL, ("epoll proc emuldata not found.\n")); | KASSERT(pem != NULL, ("epoll proc emuldata not found.\n")); | ||||
KASSERT(pem->epoll != NULL, ("epoll proc epolldata not found.\n")); | KASSERT(pem->epoll != NULL, ("epoll proc epolldata not found.\n")); | ||||
LINUX_PEM_XLOCK(pem); | LINUX_PEM_XLOCK(pem); | ||||
▲ Show 20 Lines • Show All 1,002 Lines • Show Last 20 Lines |
I think we should have a message for this case, and a comment with a brief description for the option.