curl/docs/libcurl/opts/CURLSHOPT_UNSHARE.md
Daniel Stenberg 5a488251f7
curldown: fixups
- make DEFAULT sections less repetitive

- make historic mentions use HISTORY

- generate the protocols section on `# %PROTOCOLS%` instead of guessing
  where to put it

- generate the availability section on `# %AVAILABILITY%` instead of
  guessing where to put it

- make the protocols section more verbose

Closes #14227
2024-07-19 17:03:25 +02:00

1.8 KiB

c SPDX-License-Identifier Title Section Source See-also Protocol Added-in
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLSHOPT_UNSHARE 3 libcurl
CURLSHOPT_SHARE (3)
curl_share_cleanup (3)
curl_share_init (3)
curl_share_setopt (3)
All
7.10.3

NAME

CURLSHOPT_UNSHARE - remove data to share

SYNOPSIS

#include <curl/curl.h>

CURLSHcode curl_share_setopt(CURLSH *share, CURLSHOPT_UNSHARE, long type);

DESCRIPTION

The type parameter specifies what specific data that should no longer be shared and kept in the share object that was created with curl_share_init(3). In other words, stop sharing that data in this shared object. The given type must be one of the values described below. You can set CURLSHOPT_UNSHARE(3) multiple times with different data arguments to remove multiple types from the shared object. Add data to share again with CURLSHOPT_SHARE(3).

Cookie data is no longer shared across the easy handles using this shared object.

CURL_LOCK_DATA_DNS

Cached DNS hosts are no longer shared across the easy handles using this shared object.

CURL_LOCK_DATA_SSL_SESSION

SSL session IDs are no longer shared across the easy handles using this shared object.

CURL_LOCK_DATA_CONNECT

The connection cache is no longer shared.

CURL_LOCK_DATA_PSL

The Public Suffix List is no longer shared.

%PROTOCOLS%

EXAMPLE

int main(void)
{
  CURLSHcode sh;
  CURLSH *share = curl_share_init();
  sh = curl_share_setopt(share, CURLSHOPT_UNSHARE, CURL_LOCK_DATA_COOKIE);
  if(sh)
    printf("Error: %s\n", curl_share_strerror(sh));
}

%AVAILABILITY%

RETURN VALUE

CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred. See libcurl-errors(3) for the full list with descriptions.