gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnurl] 186/205: Curl_expire_latest: ignore already expired


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 186/205: Curl_expire_latest: ignore already expired timers
Date: Thu, 20 Apr 2017 16:22:06 +0200

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

ng0 pushed a commit to annotated tag gnurl-7.54.0
in repository gnurl.

commit ab6d23278e507eb1f8dc1ea6c33191827ae6cc5e
Author: Daniel Stenberg <address@hidden>
AuthorDate: Mon Apr 10 23:53:33 2017 +0200

    Curl_expire_latest: ignore already expired timers
    
    If the existing timer is still in there but has expired, the new timer
    should be added.
    
    Reported-by: Rainer Canavan
    Bug: https://curl.haxx.se/mail/lib-2017-04/0030.html
    Closes #1407
---
 lib/multi.c         | 9 ++++++---
 tests/data/test1238 | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/multi.c b/lib/multi.c
index 46286b77b..b24ce19dd 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -3001,11 +3001,14 @@ void Curl_expire_latest(struct Curl_easy *data, time_t 
milli)
   if(expire->tv_sec || expire->tv_usec) {
     /* This means that the struct is added as a node in the splay tree.
        Compare if the new time is earlier, and only remove-old/add-new if it
-         is. */
+       is. */
     time_t diff = curlx_tvdiff(set, *expire);
-    if(diff > 0)
-      /* the new expire time was later than the top time, so just skip this */
+    if((diff > 0) && (diff < milli)) {
+      /* if the new expire time is later than the top time, skip it, but not
+         if the diff is larger than the new offset since then the previous
+         time is already expired! */
       return;
+    }
   }
 
   /* Just add the timeout like normal */
diff --git a/tests/data/test1238 b/tests/data/test1238
index 4c976c776..a0eef417d 100644
--- a/tests/data/test1238
+++ b/tests/data/test1238
@@ -10,7 +10,7 @@ TFTP RRQ
 # Server-side
 <reply>
 <servercmd>
-writedelay: 1
+writedelay: 2
 </servercmd>
 # ~1200 bytes (so that they don't fit in two 512 byte chunks)
 <data nocheck="yes">

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



reply via email to

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