From aaf87abfb4a93067c3fcb78d604636886252791a Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 3 May 2021 10:49:51 +0100 Subject: [PATCH] Fire check callback after cleaning up event so it does not get stuck, from Jeongho Jang in GitHub issue 2695. --- file.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/file.c b/file.c index baa2bd58..974c8a37 100644 --- a/file.c +++ b/file.c @@ -503,14 +503,14 @@ file_write_error_callback(__unused struct bufferevent *bev, __unused short what, log_debug("write error file %d", cf->stream); - if (cf->cb != NULL) - cf->cb(NULL, NULL, 0, -1, NULL, cf->data); - bufferevent_free(cf->event); cf->event = NULL; close(cf->fd); cf->fd = -1; + + if (cf->cb != NULL) + cf->cb(NULL, NULL, 0, -1, NULL, cf->data); } /* Client file write callback. */