-#ifdef ZTS
-static void *php_http_curl_request_datashare_locks_init(void)
-{
- int i;
- php_http_curl_request_datashare_lock_t *locks = pecalloc(CURL_LOCK_DATA_LAST, sizeof(*locks), 1);
-
- if (locks) {
- for (i = 0; i < CURL_LOCK_DATA_LAST; ++i) {
- locks[i].mx = tsrm_mutex_alloc();
- }
- }
-
- return locks;
-}
-
-static void php_http_curl_request_datashare_locks_dtor(void *l)
-{
- int i;
- php_http_curl_request_datashare_lock_t *locks = l;
-
- for (i = 0; i < CURL_LOCK_DATA_LAST; ++i) {
- tsrm_mutex_free(locks[i].mx);
- }
- pefree(locks, 1);
-}
-
-static void php_http_curl_request_datashare_lock_func(CURL *handle, curl_lock_data data, curl_lock_access locktype, void *userptr)
-{
- php_http_curl_request_datashare_lock_t *locks = userptr;
-
- /* TSRM can't distinguish shared/exclusive locks */
- tsrm_mutex_lock(locks[data].mx);
- locks[data].ch = handle;
-}
-
-static void php_http_curl_request_datashare_unlock_func(CURL *handle, curl_lock_data data, void *userptr)
-{
- php_http_curl_request_datashare_lock_t *locks = userptr;
-
- if (locks[data].ch == handle) {
- tsrm_mutex_unlock(locks[data].mx);
- }
-}
-#endif
-
-
-