ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev_epoll.c
(Generate patch)

Comparing libev/ev_epoll.c (file contents):
Revision 1.77 by root, Mon Jul 1 20:47:38 2019 UTC vs.
Revision 1.78 by root, Tue Jul 2 06:07:54 2019 UTC

195 * when we are no longer interested in them, but also when we get spurious 195 * when we are no longer interested in them, but also when we get spurious
196 * notifications for fds from another process. this is partially handled 196 * notifications for fds from another process. this is partially handled
197 * above with the gencounter check (== our fd is not the event fd), and 197 * above with the gencounter check (== our fd is not the event fd), and
198 * partially here, when epoll_ctl returns an error (== a child has the fd 198 * partially here, when epoll_ctl returns an error (== a child has the fd
199 * but we closed it). 199 * but we closed it).
200 * note: for events such as POLLHUP, where we can't know whether it refers
201 * to EV_READ or EV_WRITE, we might issue redundant EPOLL_CTL_MOD calls.
200 */ 202 */
201 ev->events = (want & EV_READ ? EPOLLIN : 0) 203 ev->events = (want & EV_READ ? EPOLLIN : 0)
202 | (want & EV_WRITE ? EPOLLOUT : 0); 204 | (want & EV_WRITE ? EPOLLOUT : 0);
203 205
204 /* pre-2.6.9 kernels require a non-null pointer with EPOLL_CTL_DEL, */ 206 /* pre-2.6.9 kernels require a non-null pointer with EPOLL_CTL_DEL, */
280{ 282{
281 ev_free (epoll_events); 283 ev_free (epoll_events);
282 array_free (epoll_eperm, EMPTY); 284 array_free (epoll_eperm, EMPTY);
283} 285}
284 286
285inline_size 287ecb_cold
286void 288static void
287epoll_fork (EV_P) 289epoll_fork (EV_P)
288{ 290{
289 close (backend_fd); 291 close (backend_fd);
290 292
291 while ((backend_fd = epoll_epoll_create ()) < 0) 293 while ((backend_fd = epoll_epoll_create ()) < 0)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines