diff options
-rw-r--r-- | hittpd.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/hittpd.c b/hittpd.c index 3438102..0a243b4 100644 --- a/hittpd.c +++ b/hittpd.c @@ -1164,8 +1164,13 @@ main(int argc, char *argv[]) accept_client(i, connfd); break; } - if (i == MAX_CLIENTS) + if (i == MAX_CLIENTS) { printf("too many clients\n"); + int connfd = accept(listenfd, 0, 0); + if (connfd >= 0) + close(connfd); + continue; + } if (i > maxi) maxi = i; /* max index in client[] array */ if (--nready <= 0) |