Only the first error for each DCB should invoke the error handler routine. All other errors for the same DCB should be ignored. In practice this appears to happen when epoll return two different types of error events for the same DCB.