]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - http_send.c
introduce INIT_STDERR_LOCKING macro
[paraslash.git] / http_send.c
index f0c9851fbe722889a46f12ff39741a7298b5929f..f06a5ac258e9a36c88cc9d9dd26acaede6fe2029 100644 (file)
@@ -208,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");
@@ -323,7 +323,7 @@ static void http_post_select(fd_set *rfds, fd_set *wfds)
        PARA_INFO_LOG("accepted client #%d: %s (fd %d)\n", numclients,
                CLIENT_ADDR(hc), hc->fd);
        numclients++;
-       list_add(&hc->node, &clients);
+       para_list_add(&hc->node, &clients);
        add_close_on_fork_list(hc->fd);
        mark_fd_nonblock(hc->fd);
        return;
@@ -371,12 +371,19 @@ static void http_pre_select(int *max_fileno, fd_set *rfds, fd_set *wfds)
 
 static int open_tcp_port(int port)
 {
+       int ret;
+
        server_fd = init_tcp_socket(port);
        if (server_fd < 0) {
                http_shutdown_clients();
                self->status = SENDER_OFF;
                return server_fd;
        }
+       ret = mark_fd_nonblock(server_fd);
+       if (ret < 0) {
+               PARA_EMERG_LOG("%s\n", PARA_STRERROR(-ret));
+               exit(EXIT_FAILURE);
+       }
        self->status = SENDER_ON;
        add_close_on_fork_list(server_fd);
        return 1;
@@ -425,7 +432,7 @@ static void add_perm_list_entry(struct sender_command_data *scd)
        ai->netmask = scd->netmask;
        PARA_INFO_LOG("adding %s/%i to access list\n", inet_ntoa(ai->addr),
                ai->netmask);
-       list_add(&ai->node, &access_perm_list);
+       para_list_add(&ai->node, &access_perm_list);
 }
 
 static int http_com_deny(struct sender_command_data *scd)