Allow epoll on listening sockets
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 3 Sep 2015 18:15:53 +0000 (14:15 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 28 Sep 2015 19:14:00 +0000 (15:14 -0400)
commit687098c9beec502feab1c21d305dd8832475717e
treecd2af452705e72488c86c6da950e408e55885121
parentaeb85b7269886878858060a3a114dec94012ed1e
Allow epoll on listening sockets

The user will ask to epoll on a socket FD for a listening socket.
However, that is a Qdata socket.  We need to translate that FD to the
Qlisten FD, and then add that FD to the epoll set.

If we ever change up the glibc helpers, such that close() just calls out
to something like _sock_closerock(int fd), then we can simplify this a
bit, and just do the translation at the top of epoll_ctl and not worry
about closing the FD.
user/iplib/epoll.c