X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuclient.git;a=blobdiff_plain;f=uclient-http.c;fp=uclient-http.c;h=fa66f78a0562ffe5a867154a2572422f412a70cb;hp=574dc0177a9d99054095a4d4aaf1d47428c5d6b6;hb=fe0f1a36109384eaad8b3d0f1438d9321581e47c;hpb=cabb2e2641cea551d60b5b15f6cb1d092e6fbb03 diff --git a/uclient-http.c b/uclient-http.c index 574dc01..fa66f78 100644 --- a/uclient-http.c +++ b/uclient-http.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -117,10 +118,11 @@ static int uclient_do_connect(struct uclient_http *uh, const char *port) memset(&uh->uc.remote_addr, 0, sizeof(uh->uc.remote_addr)); - fd = usock_inet(USOCK_TCP | USOCK_NONBLOCK, uh->uc.url->host, port, &uh->uc.remote_addr); + fd = usock_inet(USOCK_TCP, uh->uc.url->host, port, &uh->uc.remote_addr); if (fd < 0) return -1; + fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_NONBLOCK); ustream_fd_init(&uh->ufd, fd); sl = sizeof(uh->uc.local_addr);