From: Timo Sirainen Date: Tue, 22 Jan 2019 20:45:33 +0000 (+0200) Subject: lib: istreams - Don't lose IO pending state when unsetting and setting io X-Git-Tag: 2.3.6~69 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f020a33796dd852c71da78624ad98877983d0ebd;p=thirdparty%2Fdovecot%2Fcore.git lib: istreams - Don't lose IO pending state when unsetting and setting io This makes sure that the pending state stays even after io_remove() when io_add_istream() is again called. --- diff --git a/src/lib/istream.c b/src/lib/istream.c index bc5f9e011b..e04fb50c6f 100644 --- a/src/lib/istream.c +++ b/src/lib/istream.c @@ -970,6 +970,8 @@ void i_stream_unset_io(struct istream *stream, struct io *io) stream = i_stream_get_root_io(stream); i_assert(stream->real_stream->io == io); + if (io_is_pending(io)) + stream->real_stream->io_pending = TRUE; stream->real_stream->io = NULL; }