Merge branch 'v2.6.x'
authorMichael Wallner <mike@php.net>
Tue, 23 Aug 2016 11:46:50 +0000 (13:46 +0200)
committerMichael Wallner <mike@php.net>
Tue, 23 Aug 2016 11:46:50 +0000 (13:46 +0200)
1  2 
src/php_http_client_curl.c

index 9d41e2979f4b61c1e69852b5fecb6a7aa46848ae,b15fdd47f6c84475be23ff4026816eaf9503af5b..cf65353aed172ddba92a0ee2b0748d8243de29df
@@@ -2276,20 -2249,23 +2276,22 @@@ static int php_http_client_curl_once(ph
  static ZEND_RESULT_CODE php_http_client_curl_exec(php_http_client_t *h)
  {
        php_http_client_curl_t *curl = h->ctx;
 -      TSRMLS_FETCH_FROM_CTX(h->ts);
  
-       if (curl->ev_ops) {
-               return curl->ev_ops->exec(curl->ev_ctx);
-       }
+       if (!h->callback.depth) {
+               if (curl->ev_ops) {
+                       return curl->ev_ops->exec(curl->ev_ctx);
+               }
  
-       while (php_http_client_curl_once(h) && !EG(exception)) {
-               if (SUCCESS != php_http_client_curl_wait(h, NULL)) {
+               while (php_http_client_curl_once(h) && !EG(exception)) {
+                       if (SUCCESS != php_http_client_curl_wait(h, NULL)) {
  #ifdef PHP_WIN32
-                       /* see http://msdn.microsoft.com/library/en-us/winsock/winsock/windows_sockets_error_codes_2.asp */
-                       php_error_docref(NULL, E_WARNING, "WinSock error: %d", WSAGetLastError());
+                               /* see http://msdn.microsoft.com/library/en-us/winsock/winsock/windows_sockets_error_codes_2.asp */
 -                              php_error_docref(NULL TSRMLS_CC, E_WARNING, "WinSock error: %d", WSAGetLastError());
++                              php_error_docref(NULL, E_WARNING, "WinSock error: %d", WSAGetLastError());
  #else
-                       php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
 -                      php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno));
++                              php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
  #endif
-                       return FAILURE;
+                               return FAILURE;
+                       }
                }
        }