diff options
Diffstat (limited to 'cacheserver')
-rw-r--r-- | cacheserver/utmpserver3.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cacheserver/utmpserver3.c b/cacheserver/utmpserver3.c index 50dcfb57..e6bcb621 100644 --- a/cacheserver/utmpserver3.c +++ b/cacheserver/utmpserver3.c @@ -286,11 +286,6 @@ void connection_accept(int fd, short event, void *arg) socklen_t len = sizeof(clientaddr); int cfd; - if (clients > MAX_CLIENTS) { - event_del(&ev); - return; - } - if ((cfd = accept(fd, (struct sockaddr *)&clientaddr, &len)) < 0 ) return; @@ -301,6 +296,10 @@ void connection_accept(int fd, short event, void *arg) event_set(&cs->ev, cfd, EV_READ, (void *) connection_client, cs); event_add(&cs->ev, &tv); clients++; + + if (clients >= MAX_CLIENTS) { + event_del(&ev); + } } int main(int argc, char *argv[]) |