dwww Home | Manual pages | Find package

CURLSHOPT_LOCKFUNC(3)           libcurl Manual           CURLSHOPT_LOCKFUNC(3)

NAME
       CURLSHOPT_LOCKFUNC - mutex lock callback

SYNOPSIS
       #include <curl/curl.h>

       void lockcb(CURL *handle, curl_lock_data data, curl_lock_access access,
                   void *userptr);

       CURLSHcode curl_share_setopt(CURLSH *share, CURLSHOPT_LOCKFUNC, lockcb);

DESCRIPTION
       Set a mutex lock callback for the share object, to allow it to get used
       by multiple threads concurrently. There's a corresponding CURLSHOPT_UN-
       LOCKFUNC(3) callback called when the mutex is again relased.

       The lockcb argument must be a pointer to a function matching the proto-
       type shown above. The arguments to the callback are:

       handle is the currently active easy handle in use when the share object
       is intended to get used.

       The  data  argument tells what kind of data libcurl wants to lock. Make
       sure that the callback uses a different lock for each kind of data.

       access defines what access type libcurl wants, shared or single.

       userptr is the private pointer you set with  CURLSHOPT_USERDATA.   This
       pointer is not used by libcurl itself.

PROTOCOLS
       All

EXAMPLE
         CURLSHcode sh
         share = curl_share_init();
         sh = curl_share_setopt(share, CURLSHOPT_LOCKFUNC, mutex_lock);
         if(sh)
           printf("Error: %s\n", curl_share_strerror(sh));

AVAILABILITY
       Added in 7.10

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.

SEE ALSO
       CURLSHOPT_UNLOCKFUNC(3),  curl_share_setopt(3),  curl_share_cleanup(3),
       curl_share_init(3)

libcurl 7.81.0                 November 12, 2021         CURLSHOPT_LOCKFUNC(3)

Generated by dwww version 1.14 on Thu Jan 23 06:10:42 CET 2025.