diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-12-08 11:37:33 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-12-08 11:37:33 +0000 |
commit | b81a068aea8dca451b1f106ef191c0820db52c52 (patch) | |
tree | 4d1e9ee3ab573358d554925715e4d1f657258893 /src/libserver/ssl_util.c | |
parent | 315b61b3190f4b10f0710638bfaad27373fb3671 (diff) | |
download | rspamd-b81a068aea8dca451b1f106ef191c0820db52c52.tar.gz rspamd-b81a068aea8dca451b1f106ef191c0820db52c52.zip |
[Rework] Allow to restore SSL handlers after keepalive pooling
Diffstat (limited to 'src/libserver/ssl_util.c')
-rw-r--r-- | src/libserver/ssl_util.c | 15 |
1 files changed, 15 insertions, 0 deletions
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) |