gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 236/256: connect: fix race condition with happy eye


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 236/256: connect: fix race condition with happy eyeballs timeout
Date: Fri, 06 Oct 2017 19:45:27 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 49d75a4c15393d66e9f3e0ce289a610da4d6e5a9
Author: Anders Bakken <address@hidden>
AuthorDate: Thu Sep 28 08:20:04 2017 -0700

    connect: fix race condition with happy eyeballs timeout
    
    The timer should be started after conn->connecttime is set. Otherwise
    the timer could expire without this condition being true:
    
        /* should we try another protocol family? */
        if(i == 0 && conn->tempaddr[1] == NULL &&
          curlx_tvdiff(now, conn->connecttime) >= HAPPY_EYEBALLS_TIMEOUT) {
    
    Ref: #1928
---
 lib/connect.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/connect.c b/lib/connect.c
index 42559f979..b7d10af55 100755
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -1161,7 +1161,6 @@ CURLcode Curl_connecthost(struct connectdata *conn,  /* 
context */
   conn->tempaddr[1] = NULL;
   conn->tempsock[0] = CURL_SOCKET_BAD;
   conn->tempsock[1] = CURL_SOCKET_BAD;
-  Curl_expire(conn->data, HAPPY_EYEBALLS_TIMEOUT, EXPIRE_HAPPY_EYEBALLS);
 
   /* Max time for the next connection attempt */
   conn->timeoutms_per_addr =
@@ -1182,6 +1181,7 @@ CURLcode Curl_connecthost(struct connectdata *conn,  /* 
context */
   }
 
   data->info.numconnects++; /* to track the number of connections made */
+  Curl_expire(conn->data, HAPPY_EYEBALLS_TIMEOUT, EXPIRE_HAPPY_EYEBALLS);
 
   return CURLE_OK;
 }

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]