From e0456dc06596c227cecb9360cc1edac1e7ac8e02 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 9 Oct 2017 13:19:32 +0300 Subject: [PATCH] lib: ostream-multiplex - set ostream_private.parent Unlike with istream-multiplex, there are no issues with I/Os. Only the parent stream will have the I/O. Using the default parent adds the missing methods that otherwise would have needed to be implemented: - cork - flush_pending - switch_ioloop --- src/lib/ostream-multiplex.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/lib/ostream-multiplex.c b/src/lib/ostream-multiplex.c index d944b88209..7efcd5f3bb 100644 --- a/src/lib/ostream-multiplex.c +++ b/src/lib/ostream-multiplex.c @@ -184,13 +184,11 @@ o_stream_add_channel_real(struct multiplex_ostream *mstream, uint8_t cid) channel->ostream.sendv = o_stream_multiplex_ochannel_sendv; channel->ostream.iostream.close = o_stream_multiplex_ochannel_close; channel->ostream.iostream.destroy = o_stream_multiplex_ochannel_destroy; - if (cid == 0) - channel->ostream.fd = o_stream_get_fd(mstream->parent); - else - channel->ostream.fd = -1; + channel->ostream.fd = o_stream_get_fd(mstream->parent); array_append(&channel->mstream->channels, &channel, 1); - return o_stream_create(&channel->ostream, NULL, mstream->bufsize); + return o_stream_create(&channel->ostream, mstream->parent, + mstream->bufsize); } struct ostream *o_stream_multiplex_add_channel(struct ostream *stream, uint8_t cid)