]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - http_send.c
mood.c: Kill unrechable return statement.
[paraslash.git] / http_send.c
index 2a14f4282e4b453a465dbbfeb6ee16fcf611a726..69e75ccb80eddd0badfdf49aadaadcf6e75e8417 100644 (file)
@@ -258,6 +258,9 @@ static void http_post_select(fd_set *rfds, fd_set *wfds)
                err_msg = "permission denied";
                goto err_out;
        }
+       err_msg = "failed to mark fd non-blocking";
+       if (mark_fd_nonblocking(hc->fd) < 0)
+               goto err_out;
        hc->status = HTTP_CONNECTED;
        hc->cq = cq_new(MAX_BACKLOG);
        numclients++;
@@ -265,7 +268,6 @@ static void http_post_select(fd_set *rfds, fd_set *wfds)
                hc->name, hc->fd);
        para_list_add(&hc->node, &clients);
        add_close_on_fork_list(hc->fd);
-       mark_fd_nonblocking(hc->fd);
        return;
 err_out:
        PARA_WARNING_LOG("ignoring connect request from %s (%s)\n",
@@ -309,15 +311,13 @@ static void http_pre_select(int *max_fileno, fd_set *rfds, fd_set *wfds)
        }
 }
 
-static int http_open(int port)
+static int http_open(void)
 {
        int ret;
 
-       listen_fd = para_listen(AF_UNSPEC, IPPROTO_TCP, port);
-       if (listen_fd < 0) {
-               http_shutdown_clients();
+       listen_fd = para_listen(AF_UNSPEC, IPPROTO_TCP, conf.http_port_arg);
+       if (listen_fd < 0)
                return listen_fd;
-       }
        ret = mark_fd_nonblocking(listen_fd);
        if (ret < 0) {
                PARA_EMERG_LOG("%s\n", para_strerror(-ret));
@@ -331,7 +331,7 @@ static int http_com_on(__a_unused struct sender_command_data *scd)
 {
        if (listen_fd >= 0)
                return 1;
-       return http_open(conf.http_port_arg);
+       return http_open();
 }
 
 static int http_com_off(__a_unused struct sender_command_data *scd)
@@ -431,6 +431,6 @@ void http_send_init(struct sender *s)
        self = s;
        acl_init(&http_acl, conf.http_access_arg, conf.http_access_given);
        if (!conf.http_no_autostart_given)
-               http_open(conf.http_port_arg); /* ignore errors */
+               http_open(); /* ignore errors */
        PARA_DEBUG_LOG("%s", "http sender init complete\n");
 }