diff --git a/src/stream_interface.c b/src/stream_interface.c index 2c8f11378..a6be2c9a0 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -661,6 +661,10 @@ int si_cs_send(struct conn_stream *cs) if (oc->flags & CF_SHUTW) return 1; + /* we must wait because the mux is not installed yet */ + if (!conn->mux) + return 0; + if (oc->pipe && conn->xprt->snd_pipe && conn->mux->snd_pipe) { ret = conn->mux->snd_pipe(cs, oc->pipe); if (ret > 0) @@ -1220,6 +1224,10 @@ int si_cs_recv(struct conn_stream *cs) if (ic->flags & CF_SHUTR) return 1; + /* we must wait because the mux is not installed yet */ + if (!conn->mux) + return 0; + /* stop here if we reached the end of data */ if (cs->flags & CS_FL_EOS) goto end_recv;