From 1be25938b0431a182569088dd44d4fe77b4d909f Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Tue, 19 May 2020 11:45:43 +0300 Subject: [PATCH] http: fix EVHTTP_CON_AUTOFREE in case of timeout (and some else) Refs: #182 (cherry picked from commit eee26deed38fc7a6b6780b54628b007a2810efcd) --- http.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/http.c b/http.c index 983f966d..4165de9d 100644 --- a/http.c +++ b/http.c @@ -782,6 +782,11 @@ evhttp_connection_fail_(struct evhttp_connection *evcon, /* We are trying the next request that was queued on us */ if (TAILQ_FIRST(&evcon->requests) != NULL) evhttp_connection_connect_(evcon); + else + if ((evcon->flags & EVHTTP_CON_OUTGOING) && + (evcon->flags & EVHTTP_CON_AUTOFREE)) { + evhttp_connection_free(evcon); + } /* The call to evhttp_connection_reset_ overwrote errno. * Let's restore the original errno, so that the user's