diff --git a/doc/Changelog b/doc/Changelog index 9c78233e6..4f9a0b991 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +21 November 2008: Wouter + - fixed tcp accept, errors were printed when they should not. + 20 November 2008: Wouter - fixup fatal error due to faulty error checking after tcp accept. - add check in rlimit to avoid integer underflow. diff --git a/util/netevent.c b/util/netevent.c index 056183656..b6038d5f5 100644 --- a/util/netevent.c +++ b/util/netevent.c @@ -554,15 +554,15 @@ int comm_point_perform_accept(struct comm_point* c, if(new_fd == -1) { #ifndef USE_WINSOCK /* EINTR is signal interrupt. others are closed connection. */ - if( errno != EINTR + if( errno == EINTR || errno == EAGAIN #ifdef EWOULDBLOCK - && errno != EWOULDBLOCK + || errno == EWOULDBLOCK #endif #ifdef ECONNABORTED - && errno != ECONNABORTED + || errno == ECONNABORTED #endif #ifdef EPROTO - && errno != EPROTO + || errno == EPROTO #endif /* EPROTO */ ) return -1;