Lines Matching refs:share

42   struct Curl_share *share = calloc(1, sizeof(struct Curl_share));  in curl_share_init()  local
43 if(share) { in curl_share_init()
44 share->magic = CURL_GOOD_SHARE; in curl_share_init()
45 share->specifier |= (1<<CURL_LOCK_DATA_SHARE); in curl_share_init()
46 Curl_init_dnscache(&share->hostcache, 23); in curl_share_init()
49 return share; in curl_share_init()
54 curl_share_setopt(struct Curl_share *share, CURLSHoption option, ...) in curl_share_setopt() argument
63 if(!GOOD_SHARE_HANDLE(share)) in curl_share_setopt()
66 if(share->dirty) in curl_share_setopt()
84 if(!share->cookies) { in curl_share_setopt()
85 share->cookies = Curl_cookie_init(NULL, NULL, NULL, TRUE); in curl_share_setopt()
86 if(!share->cookies) in curl_share_setopt()
96 if(!share->hsts) { in curl_share_setopt()
97 share->hsts = Curl_hsts_init(); in curl_share_setopt()
98 if(!share->hsts) in curl_share_setopt()
108 if(!share->sslsession) { in curl_share_setopt()
109 share->max_ssl_sessions = 8; in curl_share_setopt()
110 share->sslsession = calloc(share->max_ssl_sessions, in curl_share_setopt()
112 share->sessionage = 0; in curl_share_setopt()
113 if(!share->sslsession) in curl_share_setopt()
122 if(Curl_conncache_init(&share->conn_cache, 103)) in curl_share_setopt()
136 share->specifier |= (unsigned int)(1<<type); in curl_share_setopt()
142 share->specifier &= ~(unsigned int)(1<<type); in curl_share_setopt()
149 if(share->cookies) { in curl_share_setopt()
150 Curl_cookie_cleanup(share->cookies); in curl_share_setopt()
151 share->cookies = NULL; in curl_share_setopt()
160 if(share->hsts) { in curl_share_setopt()
161 Curl_hsts_cleanup(&share->hsts); in curl_share_setopt()
170 Curl_safefree(share->sslsession); in curl_share_setopt()
187 share->lockfunc = lockfunc; in curl_share_setopt()
192 share->unlockfunc = unlockfunc; in curl_share_setopt()
197 share->clientdata = ptr; in curl_share_setopt()
211 curl_share_cleanup(struct Curl_share *share) in curl_share_cleanup() argument
213 if(!GOOD_SHARE_HANDLE(share)) in curl_share_cleanup()
216 if(share->lockfunc) in curl_share_cleanup()
217 share->lockfunc(NULL, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE, in curl_share_cleanup()
218 share->clientdata); in curl_share_cleanup()
220 if(share->dirty) { in curl_share_cleanup()
221 if(share->unlockfunc) in curl_share_cleanup()
222 share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata); in curl_share_cleanup()
226 Curl_conncache_close_all_connections(&share->conn_cache); in curl_share_cleanup()
227 Curl_conncache_destroy(&share->conn_cache); in curl_share_cleanup()
228 Curl_hash_destroy(&share->hostcache); in curl_share_cleanup()
231 Curl_cookie_cleanup(share->cookies); in curl_share_cleanup()
235 Curl_hsts_cleanup(&share->hsts); in curl_share_cleanup()
239 if(share->sslsession) { in curl_share_cleanup()
241 for(i = 0; i < share->max_ssl_sessions; i++) in curl_share_cleanup()
242 Curl_ssl_kill_session(&(share->sslsession[i])); in curl_share_cleanup()
243 free(share->sslsession); in curl_share_cleanup()
247 Curl_psl_destroy(&share->psl); in curl_share_cleanup()
249 if(share->unlockfunc) in curl_share_cleanup()
250 share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata); in curl_share_cleanup()
251 share->magic = 0; in curl_share_cleanup()
252 free(share); in curl_share_cleanup()
262 struct Curl_share *share = data->share; in Curl_share_lock() local
264 if(!share) in Curl_share_lock()
267 if(share->specifier & (unsigned int)(1<<type)) { in Curl_share_lock()
268 if(share->lockfunc) /* only call this if set! */ in Curl_share_lock()
269 share->lockfunc(data, type, accesstype, share->clientdata); in Curl_share_lock()
279 struct Curl_share *share = data->share; in Curl_share_unlock() local
281 if(!share) in Curl_share_unlock()
284 if(share->specifier & (unsigned int)(1<<type)) { in Curl_share_unlock()
285 if(share->unlockfunc) /* only call this if set! */ in Curl_share_unlock()
286 share->unlockfunc (data, type, share->clientdata); in Curl_share_unlock()