Merge branch 'master' into my-osx
[paraslash.git] / http_recv.c
index d2b34c4..0965416 100644 (file)
@@ -185,13 +185,14 @@ static int http_recv_open(struct receiver_node *rn)
        rn->private_data = para_calloc(sizeof(struct private_http_recv_data));
        phd = rn->private_data;
        PARA_NOTICE_LOG("phd = %p, rn = %p\n", phd, rn);
-       ret = -E_HOST_INFO;
-       if (!(he = get_host_info(conf->host_arg)))
+       ret = get_host_info(conf->host_arg, &he);
+       if (!ret < 0)
                goto err_out;
        /* get new socket */
-       ret = -E_SOCKET;
-       if ((phd->fd = get_socket()) < 0)
+       ret = get_socket();
+       if (ret < 0)
                goto err_out;
+       phd->fd = ret;
        /* init their_addr */
        init_sockaddr(&their_addr, conf->port_arg, he);
        /* connect */
@@ -200,6 +201,7 @@ static int http_recv_open(struct receiver_node *rn)
        ret = para_connect(phd->fd, &their_addr);
        if (ret < 0)
                goto err_out;
+       mark_fd_nonblock(phd->fd);
        phd->status = HTTP_CONNECTED;
        return 1;
 err_out: