curl_share_init(3)

curl_share_init3

Create a shared object

Usage

#include <curl/curl.h>
CURLSH *curl_share_init();

Overview

This function returns a pointer to a CURLSH handle to be used as input to all the other share-functions, sometimes referred to as a share handle in some places in the documentation. This init call MUST have a corresponding call to curl_share_cleanup(3) when all operations using the share are complete.

This share handle is what you pass to curl using the CURLOPT_SHARE(3) option with curl_easy_setopt(3), to make that specific curl handle use the data in this share.

Examples

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

Return value

If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created.

Releases

135 releases since Mac OS X 10.4; the text changed 17 times.

  1. 10.4–10.5.8
  2. 10.6–10.6.8
  3. 10.7–10.7.5
  4. 10.8–10.9.5
  5. 10.10–10.11.6
  6. 10.12–10.12.5
  7. 10.12.6–10.14.6
  8. 10.15–11.5
  9. 12.0.1–12.2
  10. 12.3–12.5
  11. 13.0
  12. 13.1
  13. 13.2
  14. 13.3
  15. 13.4
  16. 13.5–14.1
  17. 14.2–14.4
  18. 14.5–26.5

Availability

Added in 7.10

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.