1. 17 Apr, 2017 3 commits
  2. 16 Apr, 2017 2 commits
  3. 15 Apr, 2017 3 commits
  4. 12 Apr, 2017 2 commits
  5. 11 Apr, 2017 4 commits
  6. 10 Apr, 2017 4 commits
  7. 09 Apr, 2017 1 commit
  8. 08 Apr, 2017 4 commits
  9. 07 Apr, 2017 4 commits
  10. 06 Apr, 2017 6 commits
  11. 05 Apr, 2017 5 commits
  12. 04 Apr, 2017 2 commits
    • Dániel Bakai's avatar
      tests: added test for Curl_splaygetbest to unit1309 · 6193770e
      Dániel Bakai authored
      This checks the new behavior of Curl_splaygetbest, so that the smallest
      node not larger than the key is removed, and FIFO behavior is kept even
      when there are multiple nodes with the same key.
      
      Closes #1358
      6193770e
    • Dániel Bakai's avatar
      multi: fix queueing of pending easy handles · de05bcb7
      Dániel Bakai authored
      Multi handles repeatedly invert the queue of pending easy handles when
      used with CURLMOPT_MAX_TOTAL_CONNECTIONS. This is caused by a multistep
      process involving Curl_splaygetbest and violates the FIFO property of
      the multi handle.
      This patch fixes this issue by redefining the "best" node in the
      context of timeouts as the "smallest not larger than now", and
      implementing the necessary data structure modifications to do this
      effectively, namely:
       - splay nodes with the same key are now stored in a doubly-linked
         circular list instead of a non-circular one to enable O(1)
         insertion to the tail of the list
       - Curl_splayinsert inserts nodes with the same key to the tail of
         the same list
       - in case of multiple nodes with the same key, the one on the head of
         the list gets selected
      de05bcb7