Curl_socket_ready: make timeout a 'long'
It was mostly typecasted to int all over the code so switching to long instead all over should be a net gain.
This commit is contained in:
@@ -211,8 +211,8 @@ int waitconnect(struct connectdata *conn,
|
|||||||
for(;;) {
|
for(;;) {
|
||||||
|
|
||||||
/* now select() until we get connect or timeout */
|
/* now select() until we get connect or timeout */
|
||||||
rc = Curl_socket_ready(CURL_SOCKET_BAD, sockfd, (int)(timeout_msec>1000?
|
rc = Curl_socket_ready(CURL_SOCKET_BAD, sockfd, timeout_msec>1000?
|
||||||
1000:timeout_msec));
|
1000:timeout_msec);
|
||||||
if(Curl_pgrsUpdate(conn))
|
if(Curl_pgrsUpdate(conn))
|
||||||
return WAITCONN_ABORTED;
|
return WAITCONN_ABORTED;
|
||||||
|
|
||||||
|
@@ -490,8 +490,7 @@ cyassl_connect_common(struct connectdata *conn,
|
|||||||
curl_socket_t readfd = ssl_connect_2_reading==
|
curl_socket_t readfd = ssl_connect_2_reading==
|
||||||
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
|
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
|
||||||
|
|
||||||
what = Curl_socket_ready(readfd, writefd,
|
what = Curl_socket_ready(readfd, writefd, nonblocking?0:timeout_ms);
|
||||||
nonblocking?0:(int)timeout_ms);
|
|
||||||
if(what < 0) {
|
if(what < 0) {
|
||||||
/* fatal error */
|
/* fatal error */
|
||||||
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
||||||
|
@@ -343,7 +343,7 @@ static CURLcode AllowServerConnect(struct connectdata *conn)
|
|||||||
if(timeout_ms < interval_ms)
|
if(timeout_ms < interval_ms)
|
||||||
interval_ms = timeout_ms;
|
interval_ms = timeout_ms;
|
||||||
|
|
||||||
switch (Curl_socket_ready(sock, CURL_SOCKET_BAD, (int)interval_ms)) {
|
switch (Curl_socket_ready(sock, CURL_SOCKET_BAD, interval_ms)) {
|
||||||
case -1: /* error */
|
case -1: /* error */
|
||||||
/* let's die here */
|
/* let's die here */
|
||||||
failf(data, "Error while waiting for server connect");
|
failf(data, "Error while waiting for server connect");
|
||||||
@@ -517,7 +517,7 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
switch (Curl_socket_ready(sockfd, CURL_SOCKET_BAD, (int)interval_ms)) {
|
switch (Curl_socket_ready(sockfd, CURL_SOCKET_BAD, interval_ms)) {
|
||||||
case -1: /* select() error, stop reading */
|
case -1: /* select() error, stop reading */
|
||||||
failf(data, "FTP response aborted due to select/poll error: %d",
|
failf(data, "FTP response aborted due to select/poll error: %d",
|
||||||
SOCKERRNO);
|
SOCKERRNO);
|
||||||
|
@@ -256,7 +256,7 @@ static CURLcode handshake(struct connectdata *conn,
|
|||||||
|
|
||||||
what = Curl_socket_ready(readfd, writefd,
|
what = Curl_socket_ready(readfd, writefd,
|
||||||
nonblocking?0:
|
nonblocking?0:
|
||||||
((int)timeout_ms?timeout_ms:1000));
|
timeout_ms?timeout_ms:1000);
|
||||||
if(what < 0) {
|
if(what < 0) {
|
||||||
/* fatal error */
|
/* fatal error */
|
||||||
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
||||||
|
@@ -244,7 +244,7 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
|
|||||||
|
|
||||||
/* loop every second at least, less if the timeout is near */
|
/* loop every second at least, less if the timeout is near */
|
||||||
switch (Curl_socket_ready(tunnelsocket, CURL_SOCKET_BAD,
|
switch (Curl_socket_ready(tunnelsocket, CURL_SOCKET_BAD,
|
||||||
check<1000L?(int)check:1000)) {
|
check<1000L?check:1000)) {
|
||||||
case -1: /* select() error, stop reading */
|
case -1: /* select() error, stop reading */
|
||||||
error = SELECT_ERROR;
|
error = SELECT_ERROR;
|
||||||
failf(data, "Proxy CONNECT aborted due to select/poll error");
|
failf(data, "Proxy CONNECT aborted due to select/poll error");
|
||||||
|
@@ -138,7 +138,7 @@ CURLcode Curl_pp_easy_statemach(struct pingpong *pp)
|
|||||||
|
|
||||||
rc = Curl_socket_ready(pp->sendleft?CURL_SOCKET_BAD:sock, /* reading */
|
rc = Curl_socket_ready(pp->sendleft?CURL_SOCKET_BAD:sock, /* reading */
|
||||||
pp->sendleft?sock:CURL_SOCKET_BAD, /* writing */
|
pp->sendleft?sock:CURL_SOCKET_BAD, /* writing */
|
||||||
(int)interval_ms);
|
interval_ms);
|
||||||
|
|
||||||
if(Curl_pgrsUpdate(conn))
|
if(Curl_pgrsUpdate(conn))
|
||||||
result = CURLE_ABORTED_BY_CALLBACK;
|
result = CURLE_ABORTED_BY_CALLBACK;
|
||||||
|
@@ -160,7 +160,7 @@ static int wait_ms(int timeout_ms)
|
|||||||
* CURL_CSELECT_IN | CURL_CSELECT_OUT | CURL_CSELECT_ERR
|
* CURL_CSELECT_IN | CURL_CSELECT_OUT | CURL_CSELECT_ERR
|
||||||
*/
|
*/
|
||||||
int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
|
int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
|
||||||
int timeout_ms)
|
long timeout_ms)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_POLL_FINE
|
#ifdef HAVE_POLL_FINE
|
||||||
struct pollfd pfd[2];
|
struct pollfd pfd[2];
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@@ -85,7 +85,7 @@ struct pollfd
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
|
int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
|
||||||
int timeout_ms);
|
long timeout_ms);
|
||||||
|
|
||||||
int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
|
int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
|
||||||
|
|
||||||
|
@@ -81,7 +81,7 @@ int Curl_blockread_all(struct connectdata *conn, /* connection data */
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(Curl_socket_ready(sockfd, CURL_SOCKET_BAD,
|
if(Curl_socket_ready(sockfd, CURL_SOCKET_BAD,
|
||||||
(int)(conn_timeout - conntime)) <= 0) {
|
conn_timeout - conntime) <= 0) {
|
||||||
result = ~CURLE_OK;
|
result = ~CURLE_OK;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -409,7 +409,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
|
|||||||
curlx_nonblock(sock, TRUE);
|
curlx_nonblock(sock, TRUE);
|
||||||
|
|
||||||
/* wait until socket gets connected */
|
/* wait until socket gets connected */
|
||||||
result = Curl_socket_ready(CURL_SOCKET_BAD, sock, (int)timeout);
|
result = Curl_socket_ready(CURL_SOCKET_BAD, sock, timeout);
|
||||||
|
|
||||||
if(-1 == result) {
|
if(-1 == result) {
|
||||||
failf(conn->data, "SOCKS5: no connection here");
|
failf(conn->data, "SOCKS5: no connection here");
|
||||||
@@ -448,7 +448,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
|
|||||||
|
|
||||||
curlx_nonblock(sock, TRUE);
|
curlx_nonblock(sock, TRUE);
|
||||||
|
|
||||||
result = Curl_socket_ready(sock, CURL_SOCKET_BAD, (int)timeout);
|
result = Curl_socket_ready(sock, CURL_SOCKET_BAD, timeout);
|
||||||
|
|
||||||
if(-1 == result) {
|
if(-1 == result) {
|
||||||
failf(conn->data, "SOCKS5 nothing to read");
|
failf(conn->data, "SOCKS5 nothing to read");
|
||||||
|
@@ -2548,7 +2548,7 @@ static CURLcode ssh_easy_statemach(struct connectdata *conn,
|
|||||||
fd_write = sock;
|
fd_write = sock;
|
||||||
/* wait for the socket to become ready */
|
/* wait for the socket to become ready */
|
||||||
Curl_socket_ready(fd_read, fd_write,
|
Curl_socket_ready(fd_read, fd_write,
|
||||||
(int)(left>1000?1000:left)); /* ignore result */
|
left>1000?1000:left); /* ignore result */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -2477,8 +2477,7 @@ ossl_connect_common(struct connectdata *conn,
|
|||||||
curl_socket_t readfd = ssl_connect_2_reading==
|
curl_socket_t readfd = ssl_connect_2_reading==
|
||||||
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
|
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
|
||||||
|
|
||||||
what = Curl_socket_ready(readfd, writefd,
|
what = Curl_socket_ready(readfd, writefd, nonblocking?0:timeout_ms);
|
||||||
nonblocking?0:(int)timeout_ms);
|
|
||||||
if(what < 0) {
|
if(what < 0) {
|
||||||
/* fatal error */
|
/* fatal error */
|
||||||
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
||||||
|
@@ -1255,7 +1255,7 @@ static CURLcode tftp_easy_statemach(struct connectdata *conn)
|
|||||||
|
|
||||||
|
|
||||||
/* Wait until ready to read or timeout occurs */
|
/* Wait until ready to read or timeout occurs */
|
||||||
rc = Curl_socket_ready(fd_read, CURL_SOCKET_BAD, (int)(timeout_ms));
|
rc = Curl_socket_ready(fd_read, CURL_SOCKET_BAD, timeout_ms);
|
||||||
|
|
||||||
k->now = Curl_tvnow();
|
k->now = Curl_tvnow();
|
||||||
|
|
||||||
|
@@ -1282,9 +1282,9 @@ Transfer(struct connectdata *conn)
|
|||||||
struct SingleRequest *k = &data->req;
|
struct SingleRequest *k = &data->req;
|
||||||
bool done=FALSE;
|
bool done=FALSE;
|
||||||
bool first=TRUE;
|
bool first=TRUE;
|
||||||
int timeout_ms;
|
long timeout_ms;
|
||||||
int buffersize;
|
int buffersize;
|
||||||
int totmp;
|
long totmp;
|
||||||
|
|
||||||
if((conn->sockfd == CURL_SOCKET_BAD) &&
|
if((conn->sockfd == CURL_SOCKET_BAD) &&
|
||||||
(conn->writesockfd == CURL_SOCKET_BAD))
|
(conn->writesockfd == CURL_SOCKET_BAD))
|
||||||
@@ -1322,7 +1322,7 @@ Transfer(struct connectdata *conn)
|
|||||||
/* calculate upload rate-limitation timeout. */
|
/* calculate upload rate-limitation timeout. */
|
||||||
buffersize = (int)(data->set.buffer_size ?
|
buffersize = (int)(data->set.buffer_size ?
|
||||||
data->set.buffer_size : BUFSIZE);
|
data->set.buffer_size : BUFSIZE);
|
||||||
totmp = (int)Curl_sleep_time(data->set.max_send_speed,
|
totmp = Curl_sleep_time(data->set.max_send_speed,
|
||||||
data->progress.ulspeed, buffersize);
|
data->progress.ulspeed, buffersize);
|
||||||
if(totmp < timeout_ms)
|
if(totmp < timeout_ms)
|
||||||
timeout_ms = totmp;
|
timeout_ms = totmp;
|
||||||
@@ -1343,7 +1343,7 @@ Transfer(struct connectdata *conn)
|
|||||||
/* Calculate download rate-limitation timeout. */
|
/* Calculate download rate-limitation timeout. */
|
||||||
buffersize = (int)(data->set.buffer_size ?
|
buffersize = (int)(data->set.buffer_size ?
|
||||||
data->set.buffer_size : BUFSIZE);
|
data->set.buffer_size : BUFSIZE);
|
||||||
totmp = (int)Curl_sleep_time(data->set.max_recv_speed,
|
totmp = Curl_sleep_time(data->set.max_recv_speed,
|
||||||
data->progress.dlspeed, buffersize);
|
data->progress.dlspeed, buffersize);
|
||||||
if(totmp < timeout_ms)
|
if(totmp < timeout_ms)
|
||||||
timeout_ms = totmp;
|
timeout_ms = totmp;
|
||||||
|
Reference in New Issue
Block a user