libpurple/proxy.c

branch
release-2.x.y
changeset 35991
e6937e52930b
parent 35984
f7d395700c8b
child 36002
31a8779e91d4
child 36028
fc5300cb3617
equal deleted inserted replaced
35990:dcbaf8e5e624 35991:e6937e52930b
756 } 756 }
757 757
758 flags = fcntl(connect_data->fd, F_GETFL); 758 flags = fcntl(connect_data->fd, F_GETFL);
759 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); 759 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK);
760 #ifndef _WIN32 760 #ifndef _WIN32
761 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); 761 if (fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC) != 0)
762 purple_debug_warning("proxy", "couldn't set FD_CLOEXEC\n");
762 #endif 763 #endif
763 764
764 if (connect(connect_data->fd, addr, addrlen) != 0) 765 if (connect(connect_data->fd, addr, addrlen) != 0)
765 { 766 {
766 if ((errno == EINPROGRESS) || (errno == EINTR)) 767 if ((errno == EINPROGRESS) || (errno == EINTR))
818 } 819 }
819 820
820 flags = fcntl(connect_data->fd, F_GETFL); 821 flags = fcntl(connect_data->fd, F_GETFL);
821 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); 822 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK);
822 #ifndef _WIN32 823 #ifndef _WIN32
823 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); 824 if (fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC) != 0)
825 purple_debug_warning("proxy", "couldn't set FD_CLOEXEC\n");
824 #endif 826 #endif
825 827
826 if (connect(connect_data->fd, addr, addrlen) != 0) 828 if (connect(connect_data->fd, addr, addrlen) != 0)
827 { 829 {
828 if ((errno == EINPROGRESS) || (errno == EINTR)) 830 if ((errno == EINPROGRESS) || (errno == EINTR))
1272 } 1274 }
1273 1275
1274 flags = fcntl(connect_data->fd, F_GETFL); 1276 flags = fcntl(connect_data->fd, F_GETFL);
1275 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); 1277 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK);
1276 #ifndef _WIN32 1278 #ifndef _WIN32
1277 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); 1279 if (fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC) != 0)
1280 purple_debug_warning("proxy", "couldn't FD_CLOEXEC\n");
1278 #endif 1281 #endif
1279 1282
1280 if (connect(connect_data->fd, addr, addrlen) != 0) { 1283 if (connect(connect_data->fd, addr, addrlen) != 0) {
1281 if (errno == EINPROGRESS || errno == EINTR) { 1284 if (errno == EINPROGRESS || errno == EINTR) {
1282 purple_debug_info("proxy", "Connection in progress\n"); 1285 purple_debug_info("proxy", "Connection in progress\n");
1466 } 1469 }
1467 1470
1468 flags = fcntl(connect_data->fd, F_GETFL); 1471 flags = fcntl(connect_data->fd, F_GETFL);
1469 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); 1472 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK);
1470 #ifndef _WIN32 1473 #ifndef _WIN32
1471 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); 1474 if (fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC) != 0)
1475 purple_debug_warning("proxy", "couldn't set FD_CLOEXEC\n");
1472 #endif 1476 #endif
1473 1477
1474 if (connect(connect_data->fd, addr, addrlen) != 0) 1478 if (connect(connect_data->fd, addr, addrlen) != 0)
1475 { 1479 {
1476 if ((errno == EINPROGRESS) || (errno == EINTR)) 1480 if ((errno == EINPROGRESS) || (errno == EINTR))
2126 } 2130 }
2127 2131
2128 flags = fcntl(connect_data->fd, F_GETFL); 2132 flags = fcntl(connect_data->fd, F_GETFL);
2129 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK); 2133 fcntl(connect_data->fd, F_SETFL, flags | O_NONBLOCK);
2130 #ifndef _WIN32 2134 #ifndef _WIN32
2131 fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC); 2135 if (fcntl(connect_data->fd, F_SETFD, FD_CLOEXEC) != 0)
2136 purple_debug_warning("proxy", "couldn't set FD_CLOEXEC\n");
2132 #endif 2137 #endif
2133 2138
2134 if (connect(connect_data->fd, addr, addrlen) != 0) 2139 if (connect(connect_data->fd, addr, addrlen) != 0)
2135 { 2140 {
2136 if ((errno == EINPROGRESS) || (errno == EINTR)) 2141 if ((errno == EINPROGRESS) || (errno == EINTR))

mercurial