projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
- move http_parse_cookie() code to an odd http_parse_key_list() function
[m6w6/ext-http]
/
http_request_api.c
diff --git
a/http_request_api.c
b/http_request_api.c
index b41e020b418f8e1d598140d9707c39029c27a358..3644f9d3fd7816436b3cce2e607cb63c275923d0 100644
(file)
--- a/
http_request_api.c
+++ b/
http_request_api.c
@@
-129,9
+129,6
@@
static http_curl_callback_ctx *_http_curl_callback_data(void *data TSRMLS_DC);
static void http_request_pool_freebody(http_request_body **body);
static void http_request_pool_freehandle(zval **request, http_request_pool *pool TSRMLS_DC);
static void http_request_pool_freebody(http_request_body **body);
static void http_request_pool_freehandle(zval **request, http_request_pool *pool TSRMLS_DC);
-static void http_request_pool_responsehandler(zval **req TSRMLS_DC);
-static inline STATUS http_request_pool_select(http_request_pool *pool);
-static inline void http_request_pool_perform(http_request_pool *pool);
#if HTTP_CURL_USE_ZEND_MM
static void http_curl_free(void *p) { efree(p); }
#if HTTP_CURL_USE_ZEND_MM
static void http_curl_free(void *p) { efree(p); }
@@
-906,8
+903,7
@@
PHP_HTTP_API STATUS _http_request_pool_send(http_request_pool *pool TSRMLS_DC)
#if HTTP_DEBUG_REQPOOLS
fprintf(stderr, "Attempt to send requests of pool %p\n", pool);
#endif
#if HTTP_DEBUG_REQPOOLS
fprintf(stderr, "Attempt to send requests of pool %p\n", pool);
#endif
- http_request_pool_perform(pool);
- while (pool->unfinished) {
+ while (http_request_pool_perform(pool)) {
#if HTTP_DEBUG_REQPOOLS
fprintf(stderr, "%d unfinished requests of pool %p remaining\n", pool->unfinished, pool);
#endif
#if HTTP_DEBUG_REQPOOLS
fprintf(stderr, "%d unfinished requests of pool %p remaining\n", pool->unfinished, pool);
#endif
@@
-915,7
+911,6
@@
PHP_HTTP_API STATUS _http_request_pool_send(http_request_pool *pool TSRMLS_DC)
http_error(E_WARNING, HTTP_E_CURL, "Socket error");
return FAILURE;
}
http_error(E_WARNING, HTTP_E_CURL, "Socket error");
return FAILURE;
}
- http_request_pool_perform(pool);
}
zend_llist_apply(&pool->handles, (llist_apply_func_t) http_request_pool_responsehandler TSRMLS_CC);
return SUCCESS;
}
zend_llist_apply(&pool->handles, (llist_apply_func_t) http_request_pool_responsehandler TSRMLS_CC);
return SUCCESS;
@@
-935,31
+930,32
@@
PHP_HTTP_API void _http_request_pool_dtor(http_request_pool *pool TSRMLS_DC)
}
/* }}} */
}
/* }}} */
-/*#*/
-
-/* {{{ static void http_request_pool_freebody(http_request_body **) */
-static void http_request_pool_freebody(http_request_body **body)
+/* {{{ STATUS http_request_pool_select(http_request_pool *) */
+PHP_HTTP_API STATUS _http_request_pool_select(http_request_pool *pool)
{
{
- TSRMLS_FETCH();
- http_request_body_free(*body);
+ int MAX;
+ fd_set R, W, E;
+ struct timeval timeout = {1, 0};
+
+ FD_ZERO(&R);
+ FD_ZERO(&W);
+ FD_ZERO(&E);
+
+ curl_multi_fdset(pool->ch, &R, &W, &E, &MAX);
+ return (-1 != select(MAX + 1, &R, &W, &E, &timeout)) ? SUCCESS : FAILURE;
}
/* }}} */
}
/* }}} */
-/* {{{
static void http_request_pool_freehandle(zval **,
http_request_pool *) */
-
static void http_request_pool_freehandle(zval **request, http_request_pool *pool TSRMLS_DC
)
+/* {{{
int http_request_pool_perform(
http_request_pool *) */
+
PHP_HTTP_API int _http_request_pool_perform(http_request_pool *pool
)
{
{
- getObjectEx(http_request_object, req, *request);
- if (req->pool) {
- http_request_pool_detach(pool, *request);
- }
-#if HTTP_DEBUG_REQPOOLS
- else fprintf(stderr, "Request %p (pool: %p) is not (anymore) attached to pool %p\n", req, req->pool, pool);
-#endif
+ while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(pool->ch, &pool->unfinished));
+ return pool->unfinished;
}
/* }}} */
}
/* }}} */
-/* {{{
static
void http_request_pool_responsehandler(zval **) */
-
static void
http_request_pool_responsehandler(zval **req TSRMLS_DC)
+/* {{{ void http_request_pool_responsehandler(zval **) */
+
void _
http_request_pool_responsehandler(zval **req TSRMLS_DC)
{
getObjectEx(http_request_object, obj, *req);
#if HTTP_DEBUG_REQPOOLS
{
getObjectEx(http_request_object, obj, *req);
#if HTTP_DEBUG_REQPOOLS
@@
-969,26
+965,26
@@
static void http_request_pool_responsehandler(zval **req TSRMLS_DC)
}
/* }}} */
}
/* }}} */
-/* {{{ static inline STATUS http_request_pool_select(http_request_pool *) */
-static inline STATUS http_request_pool_select(http_request_pool *pool)
-{
- int MAX;
- fd_set R, W, E;
- struct timeval timeout = {1, 0};
-
- FD_ZERO(&R);
- FD_ZERO(&W);
- FD_ZERO(&E);
+/*#*/
- curl_multi_fdset(pool->ch, &R, &W, &E, &MAX);
- return (-1 != select(MAX + 1, &R, &W, &E, &timeout)) ? SUCCESS : FAILURE;
+/* {{{ static void http_request_pool_freebody(http_request_body **) */
+static void http_request_pool_freebody(http_request_body **body)
+{
+ TSRMLS_FETCH();
+ http_request_body_free(*body);
}
/* }}} */
}
/* }}} */
-/* {{{ static
inline void http_request_pool_perform(
http_request_pool *) */
-static
inline void http_request_pool_perform(http_request_pool *pool
)
+/* {{{ static
void http_request_pool_freehandle(zval **,
http_request_pool *) */
+static
void http_request_pool_freehandle(zval **request, http_request_pool *pool TSRMLS_DC
)
{
{
- while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(pool->ch, &pool->unfinished));
+ getObjectEx(http_request_object, req, *request);
+ if (req->pool) {
+ http_request_pool_detach(pool, *request);
+ }
+#if HTTP_DEBUG_REQPOOLS
+ else fprintf(stderr, "Request %p (pool: %p) is not (anymore) attached to pool %p\n", req, req->pool, pool);
+#endif
}
/* }}} */
}
/* }}} */