return count of still unfinished requests from run callback
authorMichael Wallner <mike@php.net>
Wed, 15 Jun 2016 14:08:39 +0000 (16:08 +0200)
committerMichael Wallner <mike@php.net>
Thu, 16 Jun 2016 05:38:46 +0000 (07:38 +0200)
src/php_http_client_curl_user.c
src/php_http_client_curl_user.h

index 6fdfa36449f4f43629a1dbb3f99b93bc904b47a5..c2be6807d72cd87ffdd37002cf9dd1325ab6a7cc 100644 (file)
@@ -43,6 +43,7 @@ static void php_http_client_curl_user_handler(INTERNAL_FUNCTION_PARAMETERS)
        long action = 0;
        php_socket_t fd = CURL_SOCKET_TIMEOUT;
        php_http_client_object_t *client = NULL;
        long action = 0;
        php_socket_t fd = CURL_SOCKET_TIMEOUT;
        php_http_client_object_t *client = NULL;
+       php_http_client_curl_t *curl;
 
        if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|rl", &zclient, php_http_client_class_entry, &zstream, &action)) {
                return;
 
        if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|rl", &zclient, php_http_client_class_entry, &zstream, &action)) {
                return;
@@ -57,6 +58,9 @@ static void php_http_client_curl_user_handler(INTERNAL_FUNCTION_PARAMETERS)
                }
        }
        php_http_client_curl_loop(client->client, fd, action);
                }
        }
        php_http_client_curl_loop(client->client, fd, action);
+
+       curl = client->client->ctx;
+       RETVAL_LONG(curl->unfinished);
 }
 
 static void php_http_client_curl_user_timer(CURLM *multi, long timeout_ms, void *timer_data)
 }
 
 static void php_http_client_curl_user_timer(CURLM *multi, long timeout_ms, void *timer_data)
index 8a6778fd71c9e15d2e8b7054a6758633d5c0088f..e731f41e588d293041e062b755654e80836813fe 100644 (file)
@@ -36,7 +36,7 @@ interface http\Client\Curl\User
         *  - timeout occurs
         *  - a watched socket needs action
         *
         *  - timeout occurs
         *  - a watched socket needs action
         *
-        * @param callable $run callback as function(http\Client $client, resource $socket = null, int $action = http\Client\Curl\User::POLL_NONE)
+        * @param callable $run callback as function(http\Client $client, resource $socket = null, int $action = http\Client\Curl\User::POLL_NONE):int (returns unfinished requests pending)
         */
        function init(callable $run);
 
         */
        function init(callable $run);