Gerrit Bruchhuser pointed out a warning that the Intel(R) Thread Checker
tool reports and it was indeed a legitimate one and it is one fixed. It was a use of a share without doing the proper locking first.
This commit is contained in:
parent
d978f85d55
commit
a1b650ad7b
5
CHANGES
5
CHANGES
@ -6,6 +6,11 @@
|
||||
|
||||
Changelog
|
||||
|
||||
Daniel S (21 June 2007)
|
||||
- Gerrit Bruchhäuser pointed out a warning that the Intel(R) Thread Checker
|
||||
tool reports and it was indeed a legitimate one and it is one fixed. It was
|
||||
a use of a share without doing the proper locking first.
|
||||
|
||||
Daniel S (20 June 2007)
|
||||
- Adam Piggott filed bug report #1740263
|
||||
(http://curl.haxx.se/bug/view.cgi?id=1740263). Adam discovered that when
|
||||
|
@ -60,6 +60,7 @@ This release includes the following bugfixes:
|
||||
o multi interface HTTP CONNECT glitch
|
||||
o list FTP root directories when login dir is not root
|
||||
o no longer slows down when getting very many URLs on the same command line
|
||||
o lock share before decreasing dirty counter
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
@ -86,6 +87,7 @@ advice from friends like these:
|
||||
Frank Hempel, Michael Wallner, Jeff Pohlmeyer, Tobias Rundström,
|
||||
Anders Gustafsson, James Bursa, Kristian Gunstone, Feng Tu,
|
||||
Andre Guibert de Bruet, Rob Crittenden, Rich Rauenzahn, Tom Regner,
|
||||
Dave Vasilevsky, Shmulik Regev, Robson Braga Araujo, Adam Piggott
|
||||
Dave Vasilevsky, Shmulik Regev, Robson Braga Araujo, Adam Piggott,
|
||||
Gerrit Bruchhäuser
|
||||
|
||||
Thanks! (and sorry if I forgot to mention someone)
|
||||
|
@ -378,8 +378,11 @@ CURLcode Curl_close(struct SessionHandle *data)
|
||||
#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
|
||||
|
||||
/* No longer a dirty share, if it exists */
|
||||
if (data->share)
|
||||
if (data->share) {
|
||||
Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE);
|
||||
data->share->dirty--;
|
||||
Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
|
||||
}
|
||||
|
||||
free(data);
|
||||
return CURLE_OK;
|
||||
|
@ -90,60 +90,66 @@ lock: dns <Pigs in space>: 16
|
||||
unlock: dns <Pigs in space>: 17
|
||||
lock: cookie <Pigs in space>: 18
|
||||
unlock: cookie <Pigs in space>: 19
|
||||
*** run 2
|
||||
CURLOPT_SHARE
|
||||
lock: share <Pigs in space>: 20
|
||||
unlock: share <Pigs in space>: 21
|
||||
*** run 2
|
||||
CURLOPT_SHARE
|
||||
lock: share <Pigs in space>: 22
|
||||
unlock: share <Pigs in space>: 23
|
||||
PERFORM
|
||||
lock: dns <Pigs in space>: 22
|
||||
unlock: dns <Pigs in space>: 23
|
||||
lock: dns <Pigs in space>: 24
|
||||
unlock: dns <Pigs in space>: 25
|
||||
lock: cookie <Pigs in space>: 26
|
||||
unlock: cookie <Pigs in space>: 27
|
||||
lock: dns <Pigs in space>: 26
|
||||
unlock: dns <Pigs in space>: 27
|
||||
lock: cookie <Pigs in space>: 28
|
||||
unlock: cookie <Pigs in space>: 29
|
||||
lock: cookie <Pigs in space>: 30
|
||||
unlock: cookie <Pigs in space>: 31
|
||||
lock: cookie <Pigs in space>: 32
|
||||
unlock: cookie <Pigs in space>: 33
|
||||
run 2: set cookie 4 and 5
|
||||
lock: dns <Pigs in space>: 32
|
||||
unlock: dns <Pigs in space>: 33
|
||||
CLEANUP
|
||||
lock: dns <Pigs in space>: 34
|
||||
unlock: dns <Pigs in space>: 35
|
||||
lock: cookie <Pigs in space>: 36
|
||||
unlock: cookie <Pigs in space>: 37
|
||||
CLEANUP
|
||||
lock: dns <Pigs in space>: 36
|
||||
unlock: dns <Pigs in space>: 37
|
||||
lock: cookie <Pigs in space>: 38
|
||||
unlock: cookie <Pigs in space>: 39
|
||||
lock: share <Pigs in space>: 40
|
||||
unlock: share <Pigs in space>: 41
|
||||
*** run 3
|
||||
CURLOPT_SHARE
|
||||
lock: share <Pigs in space>: 38
|
||||
unlock: share <Pigs in space>: 39
|
||||
lock: share <Pigs in space>: 42
|
||||
unlock: share <Pigs in space>: 43
|
||||
CURLOPT_COOKIEJAR
|
||||
PERFORM
|
||||
lock: dns <Pigs in space>: 40
|
||||
unlock: dns <Pigs in space>: 41
|
||||
lock: dns <Pigs in space>: 42
|
||||
unlock: dns <Pigs in space>: 43
|
||||
lock: cookie <Pigs in space>: 44
|
||||
unlock: cookie <Pigs in space>: 45
|
||||
lock: cookie <Pigs in space>: 46
|
||||
unlock: cookie <Pigs in space>: 47
|
||||
lock: dns <Pigs in space>: 44
|
||||
unlock: dns <Pigs in space>: 45
|
||||
lock: dns <Pigs in space>: 46
|
||||
unlock: dns <Pigs in space>: 47
|
||||
lock: cookie <Pigs in space>: 48
|
||||
unlock: cookie <Pigs in space>: 49
|
||||
lock: cookie <Pigs in space>: 50
|
||||
unlock: cookie <Pigs in space>: 51
|
||||
lock: cookie <Pigs in space>: 52
|
||||
unlock: cookie <Pigs in space>: 53
|
||||
run 3: overwrite cookie 1 and 4
|
||||
lock: dns <Pigs in space>: 50
|
||||
unlock: dns <Pigs in space>: 51
|
||||
try SHARE_CLEANUP...
|
||||
lock: share <Pigs in space>: 52
|
||||
unlock: share <Pigs in space>: 53
|
||||
SHARE_CLEANUP failed, correct
|
||||
CLEANUP
|
||||
lock: dns <Pigs in space>: 54
|
||||
unlock: dns <Pigs in space>: 55
|
||||
lock: cookie <Pigs in space>: 56
|
||||
unlock: cookie <Pigs in space>: 57
|
||||
try SHARE_CLEANUP...
|
||||
lock: share <Pigs in space>: 56
|
||||
unlock: share <Pigs in space>: 57
|
||||
SHARE_CLEANUP failed, correct
|
||||
CLEANUP
|
||||
lock: dns <Pigs in space>: 58
|
||||
unlock: dns <Pigs in space>: 59
|
||||
lock: cookie <Pigs in space>: 60
|
||||
unlock: cookie <Pigs in space>: 61
|
||||
lock: share <Pigs in space>: 62
|
||||
unlock: share <Pigs in space>: 63
|
||||
SHARE_CLEANUP
|
||||
lock: share <Pigs in space>: 58
|
||||
unlock: share <Pigs in space>: 59
|
||||
lock: share <Pigs in space>: 64
|
||||
unlock: share <Pigs in space>: 65
|
||||
GLOBAL_CLEANUP
|
||||
</stdout>
|
||||
<stderr>
|
||||
|
Loading…
x
Reference in New Issue
Block a user