diff options
author | June McEnroe <june@causal.agency> | 2019-10-23 17:16:04 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2019-10-23 17:16:04 -0400 |
commit | 64eeda05604fe8a039699de8bee2b677a683ab33 (patch) | |
tree | ff8afc7c3ba975cb7b5601ac994684f03758a373 | |
parent | Clean up state.c and factor out parsing (diff) | |
download | pounce-64eeda05604fe8a039699de8bee2b677a683ab33.tar.gz pounce-64eeda05604fe8a039699de8bee2b677a683ab33.zip |
Set clients non-blocking
-rw-r--r-- | listen.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/listen.c b/listen.c index 1179a8b..2d83462 100644 --- a/listen.c +++ b/listen.c @@ -15,6 +15,7 @@ */ #include <err.h> +#include <fcntl.h> #include <netdb.h> #include <netinet/in.h> #include <stdlib.h> @@ -80,6 +81,7 @@ size_t listenBind(int fds[], size_t cap, const char *host, const char *port) { int listenAccept(struct tls **client, int fd) { int sock = accept(fd, NULL, NULL); if (sock < 0) err(EX_IOERR, "accept"); + fcntl(sock, F_SETFL, O_NONBLOCK); int yes = 1; int error = setsockopt(sock, SOL_SOCKET, SO_NOSIGPIPE, &yes, sizeof(yes)); |