summaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
authornicm <nicm>2021-06-10 07:51:43 +0000
committernicm <nicm>2021-06-10 07:51:43 +0000
commitcfc7c9cf2403f9975421c634d09ed2dd1e04661d (patch)
tree3bbf55072ec395e9fe39feda7dc046bc5ece5cdf /file.c
parent866117636e47c9a5d961df2ac40456b7c910a932 (diff)
Fire check callback after cleaning up event so it does not get stuck,
from Jeongho Jang in GitHub issue 2695.
Diffstat (limited to 'file.c')
-rw-r--r--file.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/file.c b/file.c
index 8f497b38..e527f121 100644
--- a/file.c
+++ b/file.c
@@ -506,14 +506,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. */