X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_client_curl.c;h=77c6123e434bbc0b9a3d941f531d48f1474e8a27;hb=refs%2Ftags%2FRELEASE_2_0_3;hp=682e1eba2f64178eb8dba2884f115560fbfc1230;hpb=1cd8f8ce93d77ceb115d80461322681e342fdd2c;p=m6w6%2Fext-http diff --git a/php_http_client_curl.c b/php_http_client_curl.c index 682e1eb..77c6123 100644 --- a/php_http_client_curl.c +++ b/php_http_client_curl.c @@ -16,16 +16,21 @@ #if PHP_HTTP_HAVE_CURL #if PHP_HTTP_HAVE_EVENT -# include # if !PHP_HTTP_HAVE_EVENT2 && /* just be really sure */ !(LIBEVENT_VERSION_NUMBER >= 0x02000000) +# include # define event_base_new event_init # define event_assign(e, b, s, a, cb, d) do {\ event_set(e, s, a, cb, d); \ event_base_set(b, e); \ } while(0) -# else -# include -# endif +# else +# if PHP_HTTP_HAVE_EVENT2 +# include +# include +# else +# error "libevent presence is unknown" +# endif +# endif # ifndef DBG_EVENTS # define DBG_EVENTS 0 # endif @@ -1764,11 +1769,12 @@ static int php_http_client_curl_once(php_http_client_t *h) static STATUS php_http_client_curl_exec(php_http_client_t *h) { - TSRMLS_FETCH_FROM_CTX(h->ts); - #if PHP_HTTP_HAVE_EVENT php_http_client_curl_t *curl = h->ctx; +#endif + TSRMLS_FETCH_FROM_CTX(h->ts); +#if PHP_HTTP_HAVE_EVENT if (curl->useevents) { php_http_curlm_timeout_callback(CURL_SOCKET_TIMEOUT, /*EV_READ|EV_WRITE*/0, h); do { @@ -1974,7 +1980,11 @@ PHP_MINIT_FUNCTION(http_client_curl) PHP_MSHUTDOWN_FUNCTION(http_client_curl) { + php_persistent_handle_cleanup(ZEND_STRL("http\\Client\\Curl"), NULL, 0 TSRMLS_CC); + php_persistent_handle_cleanup(ZEND_STRL("http\\Client\\Curl\\Request"), NULL, 0 TSRMLS_CC); + php_http_options_dtor(&php_http_curle_options); + return SUCCESS; }