Displaying 3 results from an estimated 3 matches for "curl_share_setopt".
2023 Feb 22
1
[PATCH nbdkit] curl: Try to share as much as possible between handles in the pool
...l_handles (void)
+load_pool (void)
{
size_t i;
+ for (i = 0; i < ARRAY_SIZE (lockarray); ++i)
+ pthread_rwlock_init (&lockarray[i], NULL);
+
+ share = curl_share_init ();
+ if (share == NULL) {
+ nbdkit_error ("curl_share_init: %m");
+ exit (EXIT_FAILURE);
+ }
+ curl_share_setopt (share, CURLSHOPT_LOCKFUNC, lock_cb);
+ curl_share_setopt (share, CURLSHOPT_UNLOCKFUNC, unlock_cb);
+ curl_share_setopt (share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
+ curl_share_setopt (share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
+ curl_share_setopt (share, CURLSHOPT_SHARE, CURL_LOCK_D...
2023 Feb 22
2
[PATCH nbdkit] curl: Try to share as much as possible between handles in the pool
I'm mainly posting this to the list as a back-up. It does work, it
does _not_ improve performance in any noticable way. However I'm
having lots of trouble getting HTTP/2 to work (with or without this
patch) and that's stopping me from testing anything properly.
Rich.
2023 Feb 22
1
[PATCH nbdkit] curl: Try to share as much as possible between handles in the pool
...0; i < ARRAY_SIZE (lockarray); ++i)
> + pthread_rwlock_init (&lockarray[i], NULL);
error checking missing
> +
> + share = curl_share_init ();
> + if (share == NULL) {
> + nbdkit_error ("curl_share_init: %m");
> + exit (EXIT_FAILURE);
> + }
> + curl_share_setopt (share, CURLSHOPT_LOCKFUNC, lock_cb);
> + curl_share_setopt (share, CURLSHOPT_UNLOCKFUNC, unlock_cb);
> + curl_share_setopt (share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
> + curl_share_setopt (share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
> + curl_share_setopt (share, CURLSHOP...