mirror of
https://github.com/libevent/libevent.git
synced 2025-01-09 00:56:20 +08:00
http: introduce evhttp_request_free_() helper
This commit is contained in:
parent
6540da3893
commit
22061ac1e9
13
http.c
13
http.c
@ -681,6 +681,13 @@ evhttp_connection_incoming_fail(struct evhttp_request *req,
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
evhttp_request_free_(struct evhttp_connection *evcon, struct evhttp_request *req)
|
||||||
|
{
|
||||||
|
TAILQ_REMOVE(&evcon->requests, req, next);
|
||||||
|
evhttp_request_free(req);
|
||||||
|
}
|
||||||
|
|
||||||
/* Called when evcon has experienced a (non-recoverable? -NM) error, as
|
/* Called when evcon has experienced a (non-recoverable? -NM) error, as
|
||||||
* given in error. If it's an outgoing connection, reset the connection,
|
* given in error. If it's an outgoing connection, reset the connection,
|
||||||
* retry any pending requests, and inform the user. If it's incoming,
|
* retry any pending requests, and inform the user. If it's incoming,
|
||||||
@ -729,8 +736,7 @@ evhttp_connection_fail_(struct evhttp_connection *evcon,
|
|||||||
* send over a new connection. when a user cancels a request,
|
* send over a new connection. when a user cancels a request,
|
||||||
* all other pending requests should be processed as normal
|
* all other pending requests should be processed as normal
|
||||||
*/
|
*/
|
||||||
TAILQ_REMOVE(&evcon->requests, req, next);
|
evhttp_request_free_(evcon, req);
|
||||||
evhttp_request_free(req);
|
|
||||||
|
|
||||||
/* reset the connection */
|
/* reset the connection */
|
||||||
evhttp_connection_reset_(evcon);
|
evhttp_connection_reset_(evcon);
|
||||||
@ -1158,8 +1164,7 @@ evhttp_connection_free(struct evhttp_connection *evcon)
|
|||||||
* evhttp_connection_fail_.
|
* evhttp_connection_fail_.
|
||||||
*/
|
*/
|
||||||
while ((req = TAILQ_FIRST(&evcon->requests)) != NULL) {
|
while ((req = TAILQ_FIRST(&evcon->requests)) != NULL) {
|
||||||
TAILQ_REMOVE(&evcon->requests, req, next);
|
evhttp_request_free_(evcon, req);
|
||||||
evhttp_request_free(req);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (evcon->http_server != NULL) {
|
if (evcon->http_server != NULL) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user