summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--hittpd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hittpd.c b/hittpd.c
index 26f628c..2404e47 100644
--- a/hittpd.c
+++ b/hittpd.c
@@ -767,6 +767,7 @@ close_connection(int i)
 	free(datas[i].host);
 
 	datas[i] = (struct conn_data){ 0 };
+	datas[i].stream_fd = -1;
 }
 
 void
@@ -1144,7 +1145,7 @@ main(int argc, char *argv[])
 				if (--nready <= 0)
 					break; /* no more readable descriptors */
 			}
-			else if (client[i].revents & (POLLRDNORM | POLLERR)) {
+			else if (client[i].revents & (POLLRDNORM | POLLHUP | POLLERR)) {
 				read_client(i);
 				datas[i].deadline = now + TIMEOUT;