From 3bcbfcdd700d333fb655ea9e91ad6a0f6b8f2159 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 10 May 2021 17:35:07 +0200 Subject: [SERVER] Honor uplinkTimeout directly when connecting to alt-server --- src/server/altservers.c | 3 +-- src/server/image.c | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/server/altservers.c b/src/server/altservers.c index 2b65def..4413ca6 100644 --- a/src/server/altservers.c +++ b/src/server/altservers.c @@ -551,7 +551,7 @@ static void altservers_findUplinkInternal(dnbd3_uplink_t *uplink) int server = servers[itAlt]; // Connect clock_gettime( BEST_CLOCK_SOURCE, &start ); - int sock = sock_connect( &altServers[server].host, 750, 1000 ); + int sock = sock_connect( &altServers[server].host, 750, _uplinkTimeout ); if ( sock == -1 ) { // Connection failed means global error altservers_serverFailed( server ); continue; @@ -654,7 +654,6 @@ failed: } else { LOG( LOG_DEBUG1, "Change - best: %luµs, current: %luµs", bestRtt, currentRtt ); } - sock_setTimeout( best.fd, _uplinkTimeout ); mutex_lock( &uplink->rttLock ); uplink->better = best; uplink->rttTestResult = RTT_DOCHANGE; diff --git a/src/server/image.c b/src/server/image.c index 644e2a1..7e5ea4a 100644 --- a/src/server/image.c +++ b/src/server/image.c @@ -1258,7 +1258,7 @@ static dnbd3_image_t *loadImageProxy(char * const name, const uint16_t revision, bool ok = false; int sock; if ( i >= count ) { - sock = sock_multiConnect( cons, NULL, 100, 1000 ); + sock = sock_multiConnect( cons, NULL, 100, _uplinkTimeout ); if ( sock == -2 ) break; } else { if ( log_hasMask( LOG_DEBUG2 ) ) { @@ -1267,7 +1267,7 @@ static dnbd3_image_t *loadImageProxy(char * const name, const uint16_t revision, host[len] = '\0'; logadd( LOG_DEBUG2, "Trying to replicate from %s", host ); } - sock = sock_multiConnect( cons, &servers[i], 100, 1000 ); + sock = sock_multiConnect( cons, &servers[i], 100, _uplinkTimeout ); } if ( sock == -1 || sock == -2 ) continue; salen = sizeof(sa); @@ -1325,7 +1325,6 @@ server_fail: ; image = image_get( name, acceptedRemoteRid, false ); if ( image != NULL && uplinkSock != -1 ) { // If so, init the uplink and pass it the socket - sock_setTimeout( uplinkSock, _uplinkTimeout ); if ( !uplink_init( image, uplinkSock, &uplinkServer, remoteProtocolVersion ) ) { close( uplinkSock ); } else { -- cgit v1.2.3-55-g7522