From 36e5cd9ab4c86cf9da0762fa327cd5be04397676 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Mon, 19 Feb 2018 19:09:46 +0200 Subject: [PATCH] lib: connection - only switch created iostreams Fixes imap-hibernate: Fatal: master: service(imap-hibernate): child killed with signal 11 (core dumps disabled) Broken in 086b73efd1a5812a64acc951366a499d325509a6 --- src/lib/connection.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/connection.c b/src/lib/connection.c index 5fb456ec47..b43d3094ed 100644 --- a/src/lib/connection.c +++ b/src/lib/connection.c @@ -159,6 +159,7 @@ static void connection_init_streams(struct connection *conn) conn->input = i_stream_create_fd(conn->fd_in, set->input_max_size); i_stream_set_name(conn->input, conn->name); + i_stream_switch_ioloop_to(conn->input, conn->ioloop); } if (set->output_max_size != 0) { if (conn->unix_socket) @@ -170,9 +171,8 @@ static void connection_init_streams(struct connection *conn) o_stream_set_no_error_handling(conn->output, TRUE); o_stream_set_finish_via_child(conn->output, FALSE); o_stream_set_name(conn->output, conn->name); + o_stream_switch_ioloop_to(conn->output, conn->ioloop); } - i_stream_switch_ioloop_to(conn->input, conn->ioloop); - o_stream_switch_ioloop_to(conn->output, conn->ioloop); connection_input_resume(conn); if (set->input_idle_timeout_secs != 0) { conn->to = timeout_add_to(conn->ioloop,