From b81a068aea8dca451b1f106ef191c0820db52c52 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 8 Dec 2021 11:37:33 +0000 Subject: [Rework] Allow to restore SSL handlers after keepalive pooling --- src/libserver/ssl_util.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/libserver/ssl_util.c') diff --git a/src/libserver/ssl_util.c b/src/libserver/ssl_util.c index b4e905619..c229b6794 100644 --- a/src/libserver/ssl_util.c +++ b/src/libserver/ssl_util.c @@ -754,6 +754,21 @@ rspamd_ssl_connect_fd (struct rspamd_ssl_connection *conn, gint fd, return TRUE; } +void +rspamd_ssl_connection_restore_handlers (struct rspamd_ssl_connection *conn, + rspamd_ssl_handler_t handler, + rspamd_ssl_error_handler_t err_handler, + gpointer handler_data) +{ + conn->handler = handler; + conn->err_handler = err_handler; + conn->handler_data = handler_data; + + rspamd_ev_watcher_stop (conn->event_loop, conn->ev); + rspamd_ev_watcher_init (conn->ev, conn->fd, EV_WRITE, rspamd_ssl_event_handler, conn); + rspamd_ev_watcher_start (conn->event_loop, conn->ev, conn->ev->timeout); +} + gssize rspamd_ssl_read (struct rspamd_ssl_connection *conn, gpointer buf, gsize buflen) -- cgit v1.2.3