+void php_http_client_curl_loop(php_http_client_t *client, curl_socket_t s, int curl_action)
+{
+ CURLMcode rc;
+ php_http_client_curl_t *curl = client->ctx;
+ TSRMLS_FETCH_FROM_CTX(client->ts);
+
+#if DBG_EVENTS
+ fprintf(stderr, "H");
+#endif
+
+ do {
+ rc = curl_multi_socket_action(curl->handle->multi, s, curl_action, &curl->unfinished);
+ } while (CURLM_CALL_MULTI_PERFORM == rc);
+
+ if (CURLM_OK != rc) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", curl_multi_strerror(rc));
+ }
+
+ php_http_client_curl_responsehandler(client);
+}
+