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
|
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)
|
Daniel S (20 June 2007)
|
||||||
- Adam Piggott filed bug report #1740263
|
- Adam Piggott filed bug report #1740263
|
||||||
(http://curl.haxx.se/bug/view.cgi?id=1740263). Adam discovered that when
|
(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 multi interface HTTP CONNECT glitch
|
||||||
o list FTP root directories when login dir is not root
|
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 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:
|
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,
|
Frank Hempel, Michael Wallner, Jeff Pohlmeyer, Tobias Rundström,
|
||||||
Anders Gustafsson, James Bursa, Kristian Gunstone, Feng Tu,
|
Anders Gustafsson, James Bursa, Kristian Gunstone, Feng Tu,
|
||||||
Andre Guibert de Bruet, Rob Crittenden, Rich Rauenzahn, Tom Regner,
|
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)
|
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 */
|
#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
|
||||||
|
|
||||||
/* No longer a dirty share, if it exists */
|
/* 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--;
|
data->share->dirty--;
|
||||||
|
Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
|
||||||
|
}
|
||||||
|
|
||||||
free(data);
|
free(data);
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
|
@ -90,60 +90,66 @@ lock: dns <Pigs in space>: 16
|
|||||||
unlock: dns <Pigs in space>: 17
|
unlock: dns <Pigs in space>: 17
|
||||||
lock: cookie <Pigs in space>: 18
|
lock: cookie <Pigs in space>: 18
|
||||||
unlock: cookie <Pigs in space>: 19
|
unlock: cookie <Pigs in space>: 19
|
||||||
*** run 2
|
|
||||||
CURLOPT_SHARE
|
|
||||||
lock: share <Pigs in space>: 20
|
lock: share <Pigs in space>: 20
|
||||||
unlock: share <Pigs in space>: 21
|
unlock: share <Pigs in space>: 21
|
||||||
|
*** run 2
|
||||||
|
CURLOPT_SHARE
|
||||||
|
lock: share <Pigs in space>: 22
|
||||||
|
unlock: share <Pigs in space>: 23
|
||||||
PERFORM
|
PERFORM
|
||||||
lock: dns <Pigs in space>: 22
|
|
||||||
unlock: dns <Pigs in space>: 23
|
|
||||||
lock: dns <Pigs in space>: 24
|
lock: dns <Pigs in space>: 24
|
||||||
unlock: dns <Pigs in space>: 25
|
unlock: dns <Pigs in space>: 25
|
||||||
lock: cookie <Pigs in space>: 26
|
lock: dns <Pigs in space>: 26
|
||||||
unlock: cookie <Pigs in space>: 27
|
unlock: dns <Pigs in space>: 27
|
||||||
lock: cookie <Pigs in space>: 28
|
lock: cookie <Pigs in space>: 28
|
||||||
unlock: cookie <Pigs in space>: 29
|
unlock: cookie <Pigs in space>: 29
|
||||||
lock: cookie <Pigs in space>: 30
|
lock: cookie <Pigs in space>: 30
|
||||||
unlock: cookie <Pigs in space>: 31
|
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
|
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
|
lock: dns <Pigs in space>: 34
|
||||||
unlock: dns <Pigs in space>: 35
|
unlock: dns <Pigs in space>: 35
|
||||||
lock: cookie <Pigs in space>: 36
|
CLEANUP
|
||||||
unlock: cookie <Pigs in space>: 37
|
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
|
*** run 3
|
||||||
CURLOPT_SHARE
|
CURLOPT_SHARE
|
||||||
lock: share <Pigs in space>: 38
|
lock: share <Pigs in space>: 42
|
||||||
unlock: share <Pigs in space>: 39
|
unlock: share <Pigs in space>: 43
|
||||||
CURLOPT_COOKIEJAR
|
CURLOPT_COOKIEJAR
|
||||||
PERFORM
|
PERFORM
|
||||||
lock: dns <Pigs in space>: 40
|
lock: dns <Pigs in space>: 44
|
||||||
unlock: dns <Pigs in space>: 41
|
unlock: dns <Pigs in space>: 45
|
||||||
lock: dns <Pigs in space>: 42
|
lock: dns <Pigs in space>: 46
|
||||||
unlock: dns <Pigs in space>: 43
|
unlock: dns <Pigs in space>: 47
|
||||||
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: cookie <Pigs in space>: 48
|
lock: cookie <Pigs in space>: 48
|
||||||
unlock: cookie <Pigs in space>: 49
|
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
|
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
|
lock: dns <Pigs in space>: 54
|
||||||
unlock: dns <Pigs in space>: 55
|
unlock: dns <Pigs in space>: 55
|
||||||
lock: cookie <Pigs in space>: 56
|
try SHARE_CLEANUP...
|
||||||
unlock: cookie <Pigs in space>: 57
|
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
|
SHARE_CLEANUP
|
||||||
lock: share <Pigs in space>: 58
|
lock: share <Pigs in space>: 64
|
||||||
unlock: share <Pigs in space>: 59
|
unlock: share <Pigs in space>: 65
|
||||||
GLOBAL_CLEANUP
|
GLOBAL_CLEANUP
|
||||||
</stdout>
|
</stdout>
|
||||||
<stderr>
|
<stderr>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user