projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
prepare v4.2.5
[m6w6/ext-http]
/
src
/
php_http_client_curl_user.c
diff --git
a/src/php_http_client_curl_user.c
b/src/php_http_client_curl_user.c
index 1f69a51cb7203e3d4acb05502f512a703a1f1eb6..2e646f60c7f5bc7f3ac845fbbaf0ea9f87bea7ec 100644
(file)
--- a/
src/php_http_client_curl_user.c
+++ b/
src/php_http_client_curl_user.c
@@
-22,6
+22,11
@@
typedef struct php_http_client_curl_user_ev {
php_http_client_curl_user_context_t *context;
} php_http_client_curl_user_ev_t;
php_http_client_curl_user_context_t *context;
} php_http_client_curl_user_ev_t;
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_user_handler, 0, 1, IS_LONG, 1)
+ ZEND_ARG_OBJ_INFO(0, client, "http\\Client", 0)
+ ZEND_ARG_TYPE_INFO(0, stream, IS_RESOURCE, 1)
+ ZEND_ARG_TYPE_INFO(0, action, IS_LONG, 1)
+ZEND_END_ARG_INFO();
static ZEND_NAMED_FUNCTION(php_http_client_curl_user_handler)
{
zval *zstream = NULL, *zclient = NULL;
static ZEND_NAMED_FUNCTION(php_http_client_curl_user_handler)
{
zval *zstream = NULL, *zclient = NULL;
@@
-57,9
+62,7
@@
static void php_http_client_curl_user_timer(CURLM *multi, long timeout_ms, void
fprintf(stderr, "\ntimer <- timeout_ms: %ld\n", timeout_ms);
#endif
fprintf(stderr, "\ntimer <- timeout_ms: %ld\n", timeout_ms);
#endif
- if (timeout_ms <= 0) {
- php_http_client_curl_loop(context->client, CURL_SOCKET_TIMEOUT, 0);
- } else {
+ if (timeout_ms >= 0) {
zval args[1], *ztimeout = &args[0];
ZVAL_LONG(ztimeout, timeout_ms);
zval args[1], *ztimeout = &args[0];
ZVAL_LONG(ztimeout, timeout_ms);
@@
-188,6
+191,10
@@
static void *php_http_client_curl_user_init(php_http_client_t *client, void *use
ctx->closure.common.type = ZEND_INTERNAL_FUNCTION;
ctx->closure.common.function_name = zend_string_init(ZEND_STRL("php_http_client_curl_user_handler"), 0);
ctx->closure.internal_function.handler = php_http_client_curl_user_handler;
ctx->closure.common.type = ZEND_INTERNAL_FUNCTION;
ctx->closure.common.function_name = zend_string_init(ZEND_STRL("php_http_client_curl_user_handler"), 0);
ctx->closure.internal_function.handler = php_http_client_curl_user_handler;
+ ctx->closure.internal_function.arg_info = (zend_internal_arg_info *) &ai_user_handler[1];
+ ctx->closure.internal_function.num_args = 3;
+ ctx->closure.internal_function.required_num_args = 1;
+
zend_create_closure(zclosure, &ctx->closure, NULL, NULL, NULL);
zend_create_closure(zclosure, &ctx->closure, NULL, NULL, NULL);