[lkml]   [2003]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: epoll gives broken results when interrupted with a signal
    On Wed, 29 Oct 2003, Ben Mansell wrote:

    > I'm using the epoll system interface on a 2.6.0-test9 kernel, but I hit
    > a problem if the process calling epoll_wait() gets interrupted. The
    > epoll_wait() returns with several events, but the last event of which
    > contains junk (e.g. typically reports that a file descriptor like
    > -91534560 received an event)
    > The epoll is being used to monitor only a handful of file descriptors.
    > Some of these however are TCP network sockets that were bound to a port
    > by a parent process, and then passed on to the process doing the epoll.
    > Another file descriptor is that of a socket connected to the parent
    > process. The epoll failure is brought about when the parent process
    > tries to kill off the child with a SIGTERM. The parent then exits.
    > The final (interrupted) epoll returns two events - the first is that of
    > the socket to the dead parent, receiving EPOLLIN | EPOLLHUP, which seems
    > reasonable. The next event is then random garbage. Perhaps epoll is just
    > returning one too many results?

    Is it an UP or an SMP machine? The descriptor is passed how? fork? If I'll
    send you a debug patch for epoll will you be able to run it?

    - Davide

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:58    [W:0.042 / U:4.068 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site