| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- .\" generated by cd2nroff 0.1 from CURLSHOPT_UNLOCKFUNC.md
- .TH CURLSHOPT_UNLOCKFUNC 3 "2025-01-17" libcurl
- .SH NAME
- CURLSHOPT_UNLOCKFUNC \- mutex unlock callback
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- void unlockcb(CURL *handle, curl_lock_data data, void *clientp);
- CURLSHcode curl_share_setopt(CURLSH *share, CURLSHOPT_UNLOCKFUNC, unlockcb);
- .fi
- .SH DESCRIPTION
- Set a mutex unlock callback for the share object. There is a corresponding
- \fICURLSHOPT_LOCKFUNC(3)\fP callback called when the mutex is first locked.
- The \fIunlockcb\fP argument must be a pointer to a function matching the
- prototype shown above. The arguments to the callback are:
- \fIhandle\fP is the currently active easy handle in use when the share object
- is released.
- The \fIdata\fP argument tells what kind of data libcurl wants to unlock. Make
- sure that the callback uses a different lock for each kind of data.
- \fIclientp\fP is the private pointer you set with \fICURLSHOPT_USERDATA(3)\fP.
- This pointer is not used by libcurl itself.
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- extern void mutex_unlock(CURL *, curl_lock_data, void *);
- int main(void)
- {
- CURLSHcode sh;
- CURLSH *share = curl_share_init();
- sh = curl_share_setopt(share, CURLSHOPT_UNLOCKFUNC, mutex_unlock);
- if(sh)
- printf("Error: %s\\n", curl_share_strerror(sh));
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.10.3
- .SH RETURN VALUE
- CURLSHE_OK (zero) means that the option was set properly, non\-zero means an
- error occurred. See \fIlibcurl\-errors(3)\fP for the full list with
- descriptions.
- .SH SEE ALSO
- .BR CURLSHOPT_LOCKFUNC (3),
- .BR curl_share_cleanup (3),
- .BR curl_share_init (3),
- .BR curl_share_setopt (3)
|