-
Davide Libenzi authored
- Finalized the interface by : * Having an epoll_event structure instead of using the pollfd * Adding a 64 bit opaque data member to the epoll_event structure * Removing the "fd" member from the epoll_event structure * Removing the "revents" member to leave space for a unique 32 bit "events" member - Fixes the problem where, due the new callback'd wake_up() mechanism loops might be generated by bringing deadlock or stack blow ups. In fact a user could create a cycle by adding epoll fds inside other epoll fds. The patch solves the problem by either : * Moving the wake_up() call done on the poll wait queue head, outside the locked region * Implementing a new safe wake up function for the poll wait queue head - Some variable renaming - Changed __NR_sys_epoll_* to __NR_epoll_* ( Hanna Linder ) - Blocked the add operation of an epoll file descriptor inside itself - Comments added/fixed
ebdef6d5