On Wed, Feb 22, 2023 at 05:25:03PM +0100, Laszlo Ersek wrote:
On 2/22/23 17:00, Richard W.M. Jones wrote:
> On Wed, Feb 22, 2023 at 04:52:35PM +0100, Laszlo Ersek wrote:
> ...
>> Seems sane to me in general, except for the fact that the documentation
>> at <
https://curl.se/libcurl/c/CURLSHOPT_SHARE.html> writes:
>>
>> """
>> CURL_LOCK_DATA_CONNECT
>>
>> Put the connection cache in the share object and make all easy handles
>> using this share object share the connection cache.
>>
>> Note that due to a known bug, it is not safe to share connections this
>> way between multiple concurrent threads. [...]
>> """
>>
>> Ugh, what? If it's not safe to share the connection cache between
>> threads, then CURL_LOCK_DATA_CONNECT is effectively unusable, and no
>> connection pooling can be done. How does that *not* make this whole curl
>> facility useless?
>>
>> The facility in general looks super weird; what sense does it make *not*
>> to share some particular CURL_LOCK_DATA_xxx?
>
> I can only conclude this cannot be true. Daniel Stenberg wrote this
> code which definitely uses threads:
>
>
https://gist.github.com/bagder/7eccf74f8b6d70b5abefeb7f288dba9b
>
> Also I did a lot of testing and didn't hit any obvious threading bugs.
OK, so the documentation is busted. News at 11.
Can you report a bug for cURL, or should I report it sometime later?
I don't think I'm certain enough to file a bug ..
Rich.
> Nevertheless I'm not planning to integrate this patch any
time soon.
I don't oppose merging the patch once we get a clear verdict that the
documentation is wrong.
Thanks!
Laszlo
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v