mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 07:38:49 -05:00
multi_done: prune DNS cache
Prune the DNS cache immediately after the dns entry is unlocked in multi_done. Timed out entries will then get discarded in a more orderly fashion. Test506 is updated Reported-by: Oleg Pudeyev Fixes #2169 Closes #2170
This commit is contained in:
parent
06a0a26fb6
commit
e959f16c5f
@ -552,6 +552,7 @@ static CURLcode multi_done(struct connectdata **connp,
|
|||||||
Curl_resolv_unlock(data, conn->dns_entry); /* done with this */
|
Curl_resolv_unlock(data, conn->dns_entry); /* done with this */
|
||||||
conn->dns_entry = NULL;
|
conn->dns_entry = NULL;
|
||||||
}
|
}
|
||||||
|
Curl_hostcache_prune(data);
|
||||||
|
|
||||||
/* if the transfer was completed in a paused state there can be buffered
|
/* if the transfer was completed in a paused state there can be buffered
|
||||||
data left to free */
|
data left to free */
|
||||||
|
@ -130,73 +130,79 @@ unlock: cookie [Pigs in space]: 29
|
|||||||
run 1: set cookie 1, 2 and 3
|
run 1: set cookie 1, 2 and 3
|
||||||
lock: dns [Pigs in space]: 30
|
lock: dns [Pigs in space]: 30
|
||||||
unlock: dns [Pigs in space]: 31
|
unlock: dns [Pigs in space]: 31
|
||||||
|
lock: dns [Pigs in space]: 32
|
||||||
|
unlock: dns [Pigs in space]: 33
|
||||||
CLEANUP
|
CLEANUP
|
||||||
lock: cookie [Pigs in space]: 32
|
lock: cookie [Pigs in space]: 34
|
||||||
unlock: cookie [Pigs in space]: 33
|
unlock: cookie [Pigs in space]: 35
|
||||||
lock: share [Pigs in space]: 34
|
|
||||||
unlock: share [Pigs in space]: 35
|
|
||||||
*** run 2
|
|
||||||
CURLOPT_SHARE
|
|
||||||
lock: share [Pigs in space]: 36
|
lock: share [Pigs in space]: 36
|
||||||
unlock: share [Pigs in space]: 37
|
unlock: share [Pigs in space]: 37
|
||||||
|
*** run 2
|
||||||
|
CURLOPT_SHARE
|
||||||
|
lock: share [Pigs in space]: 38
|
||||||
|
unlock: share [Pigs in space]: 39
|
||||||
PERFORM
|
PERFORM
|
||||||
lock: dns [Pigs in space]: 38
|
lock: dns [Pigs in space]: 40
|
||||||
unlock: dns [Pigs in space]: 39
|
unlock: dns [Pigs in space]: 41
|
||||||
lock: cookie [Pigs in space]: 40
|
|
||||||
unlock: cookie [Pigs in space]: 41
|
|
||||||
lock: cookie [Pigs in space]: 42
|
lock: cookie [Pigs in space]: 42
|
||||||
unlock: cookie [Pigs in space]: 43
|
unlock: cookie [Pigs in space]: 43
|
||||||
lock: cookie [Pigs in space]: 44
|
lock: cookie [Pigs in space]: 44
|
||||||
unlock: cookie [Pigs in space]: 45
|
unlock: cookie [Pigs in space]: 45
|
||||||
|
lock: cookie [Pigs in space]: 46
|
||||||
|
unlock: cookie [Pigs in space]: 47
|
||||||
run 2: set cookie 4 and 5
|
run 2: set cookie 4 and 5
|
||||||
lock: dns [Pigs in space]: 46
|
lock: dns [Pigs in space]: 48
|
||||||
unlock: dns [Pigs in space]: 47
|
unlock: dns [Pigs in space]: 49
|
||||||
|
lock: dns [Pigs in space]: 50
|
||||||
|
unlock: dns [Pigs in space]: 51
|
||||||
CLEANUP
|
CLEANUP
|
||||||
lock: cookie [Pigs in space]: 48
|
lock: cookie [Pigs in space]: 52
|
||||||
unlock: cookie [Pigs in space]: 49
|
unlock: cookie [Pigs in space]: 53
|
||||||
lock: share [Pigs in space]: 50
|
lock: share [Pigs in space]: 54
|
||||||
unlock: share [Pigs in space]: 51
|
unlock: share [Pigs in space]: 55
|
||||||
*** run 3
|
*** run 3
|
||||||
CURLOPT_SHARE
|
CURLOPT_SHARE
|
||||||
lock: share [Pigs in space]: 52
|
lock: share [Pigs in space]: 56
|
||||||
unlock: share [Pigs in space]: 53
|
unlock: share [Pigs in space]: 57
|
||||||
CURLOPT_COOKIEJAR
|
CURLOPT_COOKIEJAR
|
||||||
CURLOPT_COOKIELIST FLUSH
|
CURLOPT_COOKIELIST FLUSH
|
||||||
lock: cookie [Pigs in space]: 54
|
|
||||||
unlock: cookie [Pigs in space]: 55
|
|
||||||
PERFORM
|
|
||||||
lock: dns [Pigs in space]: 56
|
|
||||||
unlock: dns [Pigs in space]: 57
|
|
||||||
lock: cookie [Pigs in space]: 58
|
lock: cookie [Pigs in space]: 58
|
||||||
unlock: cookie [Pigs in space]: 59
|
unlock: cookie [Pigs in space]: 59
|
||||||
lock: cookie [Pigs in space]: 60
|
PERFORM
|
||||||
unlock: cookie [Pigs in space]: 61
|
lock: dns [Pigs in space]: 60
|
||||||
|
unlock: dns [Pigs in space]: 61
|
||||||
lock: cookie [Pigs in space]: 62
|
lock: cookie [Pigs in space]: 62
|
||||||
unlock: cookie [Pigs in space]: 63
|
unlock: cookie [Pigs in space]: 63
|
||||||
lock: cookie [Pigs in space]: 64
|
lock: cookie [Pigs in space]: 64
|
||||||
unlock: cookie [Pigs in space]: 65
|
unlock: cookie [Pigs in space]: 65
|
||||||
lock: cookie [Pigs in space]: 66
|
lock: cookie [Pigs in space]: 66
|
||||||
unlock: cookie [Pigs in space]: 67
|
unlock: cookie [Pigs in space]: 67
|
||||||
run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch
|
lock: cookie [Pigs in space]: 68
|
||||||
lock: dns [Pigs in space]: 68
|
unlock: cookie [Pigs in space]: 69
|
||||||
unlock: dns [Pigs in space]: 69
|
|
||||||
CLEANUP
|
|
||||||
lock: cookie [Pigs in space]: 70
|
lock: cookie [Pigs in space]: 70
|
||||||
unlock: cookie [Pigs in space]: 71
|
unlock: cookie [Pigs in space]: 71
|
||||||
lock: share [Pigs in space]: 72
|
run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch
|
||||||
unlock: share [Pigs in space]: 73
|
lock: dns [Pigs in space]: 72
|
||||||
CURLOPT_SHARE
|
unlock: dns [Pigs in space]: 73
|
||||||
lock: share [Pigs in space]: 74
|
lock: dns [Pigs in space]: 74
|
||||||
unlock: share [Pigs in space]: 75
|
unlock: dns [Pigs in space]: 75
|
||||||
CURLOPT_COOKIELIST ALL
|
CLEANUP
|
||||||
lock: cookie [Pigs in space]: 76
|
lock: cookie [Pigs in space]: 76
|
||||||
unlock: cookie [Pigs in space]: 77
|
unlock: cookie [Pigs in space]: 77
|
||||||
|
lock: share [Pigs in space]: 78
|
||||||
|
unlock: share [Pigs in space]: 79
|
||||||
|
CURLOPT_SHARE
|
||||||
|
lock: share [Pigs in space]: 80
|
||||||
|
unlock: share [Pigs in space]: 81
|
||||||
|
CURLOPT_COOKIELIST ALL
|
||||||
|
lock: cookie [Pigs in space]: 82
|
||||||
|
unlock: cookie [Pigs in space]: 83
|
||||||
CURLOPT_COOKIEJAR
|
CURLOPT_COOKIEJAR
|
||||||
CURLOPT_COOKIELIST RELOAD
|
CURLOPT_COOKIELIST RELOAD
|
||||||
lock: cookie [Pigs in space]: 78
|
lock: cookie [Pigs in space]: 84
|
||||||
unlock: cookie [Pigs in space]: 79
|
unlock: cookie [Pigs in space]: 85
|
||||||
lock: cookie [Pigs in space]: 80
|
lock: cookie [Pigs in space]: 86
|
||||||
unlock: cookie [Pigs in space]: 81
|
unlock: cookie [Pigs in space]: 87
|
||||||
loaded cookies:
|
loaded cookies:
|
||||||
-----------------
|
-----------------
|
||||||
.host.foo.com TRUE / FALSE 1896263787 injected yes
|
.host.foo.com TRUE / FALSE 1896263787 injected yes
|
||||||
@ -209,17 +215,17 @@ loaded cookies:
|
|||||||
www.host.foo.com FALSE / FALSE 1993463787 test6 six_more
|
www.host.foo.com FALSE / FALSE 1993463787 test6 six_more
|
||||||
-----------------
|
-----------------
|
||||||
try SHARE_CLEANUP...
|
try SHARE_CLEANUP...
|
||||||
lock: share [Pigs in space]: 82
|
|
||||||
unlock: share [Pigs in space]: 83
|
|
||||||
SHARE_CLEANUP failed, correct
|
|
||||||
CLEANUP
|
|
||||||
lock: cookie [Pigs in space]: 84
|
|
||||||
unlock: cookie [Pigs in space]: 85
|
|
||||||
lock: share [Pigs in space]: 86
|
|
||||||
unlock: share [Pigs in space]: 87
|
|
||||||
SHARE_CLEANUP
|
|
||||||
lock: share [Pigs in space]: 88
|
lock: share [Pigs in space]: 88
|
||||||
unlock: share [Pigs in space]: 89
|
unlock: share [Pigs in space]: 89
|
||||||
|
SHARE_CLEANUP failed, correct
|
||||||
|
CLEANUP
|
||||||
|
lock: cookie [Pigs in space]: 90
|
||||||
|
unlock: cookie [Pigs in space]: 91
|
||||||
|
lock: share [Pigs in space]: 92
|
||||||
|
unlock: share [Pigs in space]: 93
|
||||||
|
SHARE_CLEANUP
|
||||||
|
lock: share [Pigs in space]: 94
|
||||||
|
unlock: share [Pigs in space]: 95
|
||||||
GLOBAL_CLEANUP
|
GLOBAL_CLEANUP
|
||||||
</stdout>
|
</stdout>
|
||||||
<stderr>
|
<stderr>
|
||||||
|
Loading…
Reference in New Issue
Block a user