Define qu and llu in str.h and _Static_assert that they're 64 bits.
[darkstat] / http.c
diff --git a/http.c b/http.c
index add1031..cc2f116 100644 (file)
--- a/http.c
+++ b/http.c
@@ -56,7 +56,7 @@ struct connection {
 
     int socket;
     struct sockaddr_storage client;
-    long last_active_mono;
+    time_t last_active_mono;
     enum {
         RECV_REQUEST,          /* receiving request */
         SEND_HEADER_AND_REPLY, /* try to send header+reply together */
@@ -407,6 +407,9 @@ static void generate_header(struct connection *conn,
 /* ---------------------------------------------------------------------------
  * A default reply for any (erroneous) occasion.
  */
+static void default_reply(struct connection *conn,
+    const int errcode, const char *errname, const char *format, ...)
+    _printflike_(4, 5);
 static void default_reply(struct connection *conn,
     const int errcode, const char *errname, const char *format, ...)
 {
@@ -931,6 +934,8 @@ static void http_listen_one(struct addrinfo *ai,
         return;
     }
 
+    fd_set_nonblock(sockin);
+
     /* reuse address */
     sockopt = 1;
     if (setsockopt(sockin, SOL_SOCKET, SO_REUSEADDR,
@@ -957,7 +962,7 @@ static void http_listen_one(struct addrinfo *ai,
     }
 
     /* listen on socket */
-    if (listen(sockin, -1) == -1)
+    if (listen(sockin, 128) == -1)
         err(1, "listen() failed");
 
     verbosef("listening on http://%s%s%s:%u/",