summaryrefslogtreecommitdiff
path: root/code/core/core.c
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2017-08-12 23:09:10 +0200
committerUros Majstorovic <majstor@majstor.org>2017-08-12 23:09:10 +0200
commit770fc69429e6b61ca648b15816fd003819abe3e2 (patch)
tree389d80d2de0afd5851801cf3246f949edda0d49e /code/core/core.c
parent83aa3fed513e26e0457c6744cb110aa420d2831a (diff)
conn_close handler added
Diffstat (limited to 'code/core/core.c')
-rw-r--r--code/core/core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/code/core/core.c b/code/core/core.c
index 069c910..a7ef3de 100644
--- a/code/core/core.c
+++ b/code/core/core.c
@@ -580,7 +580,10 @@ int ecp_conn_close(ECPConnection *conn, unsigned int timeout) {
if (refcount) return ECP_ERR_TIMEOUT;
#endif
- if (!conn->out) {
+ if (conn->out) {
+ ecp_conn_close_t *handler = conn->sock->ctx->handler[conn->type] ? conn->sock->ctx->handler[conn->type]->conn_close : NULL;
+ if (handler) handler(conn);
+ } else {
ecp_conn_destroy_t *handler = conn->sock->ctx->handler[conn->type] ? conn->sock->ctx->handler[conn->type]->conn_destroy : NULL;
if (handler) handler(conn);
if (conn->proxy) {