Skip to content

Commit

Permalink
lib: ostream-multiplex - set ostream_private.parent
Browse files Browse the repository at this point in the history
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
  • Loading branch information
sirainen committed Oct 9, 2017
1 parent 1c777b3 commit e0456dc
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions src/lib/ostream-multiplex.c
Expand Up @@ -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)
Expand Down

0 comments on commit e0456dc

Please sign in to comment.