compress filter: decrease default target signal level
[paraslash.git] / http_send.c
index 0e7d02415a8cdd70938544c3af66621b05ab630a..111c49baf82aa58e9bb9172ad0a8deb86b9ee571 100644 (file)
@@ -38,8 +38,6 @@
 #define HTTP_ERR_MSG "HTTP/1.0 400 Bad Request\n"
 /** \endcond */
 
-extern struct gengetopt_args_info conf;
-
 /** the possible states of a client from the server's POV */
 enum http_status {
        HTTP_CONNECTED,
@@ -116,7 +114,7 @@ static void http_shutdown_client(struct http_client *hc, const char *msg)
                hc->fd, msg);
        numclients--;
        close(hc->fd);
-
+       del_close_on_fork_list(hc->fd);
        list_for_each_entry_safe(qp, tmp, &hc->packet_queue, node) {
                free(qp->packet);
                list_del(&qp->node);
@@ -210,11 +208,11 @@ static void http_send( long unsigned current_chunk,
                        continue;
                if (hc->status == HTTP_READY_TO_STREAM) {
                        int hlen;
-                       char *buf = afs_get_header(&hlen);
-                       if (buf && hlen > 0 && current_chunk) {
+                       char *hbuf = afs_get_header(&hlen);
+                       if (hbuf && hlen > 0 && current_chunk) {
                                /* need to send header */
                                PARA_INFO_LOG("queueing header: %d\n", hlen);
-                               if (queue_packet(hc, buf, hlen) < 0)
+                               if (queue_packet(hc, hbuf, hlen) < 0)
                                        continue;
                        } else
                                PARA_INFO_LOG("%s", "no need to queue header\n");
@@ -326,6 +324,8 @@ static void http_post_select(fd_set *rfds, fd_set *wfds)
                CLIENT_ADDR(hc), hc->fd);
        numclients++;
        list_add(&hc->node, &clients);
+       add_close_on_fork_list(hc->fd);
+       mark_fd_nonblock(hc->fd);
        return;
 err_out:
        PARA_WARNING_LOG("ignoring connect request from %s (%s)\n",