Loading lib/share.c +17 −4 Original line number Diff line number Diff line Loading @@ -39,8 +39,10 @@ curl_share_init(void) { struct Curl_share *share = (struct Curl_share *)malloc(sizeof(struct Curl_share)); if (share) if (share) { memset (share, 0, sizeof(struct Curl_share)); share->specifier |= (1<<CURL_LOCK_DATA_SHARE); } return share; } Loading Loading @@ -145,11 +147,21 @@ curl_share_setopt(CURLSH *sh, CURLSHoption option, ...) return CURLSHE_OK; } CURLSHcode curl_share_cleanup(CURLSH *sh) CURLSHcode curl_share_cleanup(CURLSH *sh) { struct Curl_share *share = (struct Curl_share *)sh; if (share->dirty) if (share == NULL) return CURLSHE_INVALID; share->lockfunc(NULL, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE, share->clientdata); if (share->dirty) { share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata); return CURLSHE_IN_USE; } if(share->hostcache) Curl_hash_destroy(share->hostcache); Loading @@ -157,6 +169,7 @@ CURLSHcode curl_share_cleanup(CURLSH *sh) if(share->cookies) Curl_cookie_cleanup(share->cookies); share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata); free (share); return CURLSHE_OK; Loading Loading
lib/share.c +17 −4 Original line number Diff line number Diff line Loading @@ -39,8 +39,10 @@ curl_share_init(void) { struct Curl_share *share = (struct Curl_share *)malloc(sizeof(struct Curl_share)); if (share) if (share) { memset (share, 0, sizeof(struct Curl_share)); share->specifier |= (1<<CURL_LOCK_DATA_SHARE); } return share; } Loading Loading @@ -145,11 +147,21 @@ curl_share_setopt(CURLSH *sh, CURLSHoption option, ...) return CURLSHE_OK; } CURLSHcode curl_share_cleanup(CURLSH *sh) CURLSHcode curl_share_cleanup(CURLSH *sh) { struct Curl_share *share = (struct Curl_share *)sh; if (share->dirty) if (share == NULL) return CURLSHE_INVALID; share->lockfunc(NULL, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE, share->clientdata); if (share->dirty) { share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata); return CURLSHE_IN_USE; } if(share->hostcache) Curl_hash_destroy(share->hostcache); Loading @@ -157,6 +169,7 @@ CURLSHcode curl_share_cleanup(CURLSH *sh) if(share->cookies) Curl_cookie_cleanup(share->cookies); share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata); free (share); return CURLSHE_OK; Loading