server/red_channel: do not attempt to write if the channel client is disconnected

The red_channel_client_event call to red_channel_client_receive might result
in a disconnected channel client. The following call to
red_channel_client_push may call to red_peer_handle_outgoing with a
disconnected socket.
This commit is contained in:
Yonit Halperin 2012-05-31 09:49:47 +03:00
parent 2d2121a170
commit 858a1aaa34

View File

@ -305,6 +305,10 @@ static void red_peer_handle_outgoing(RedsStream *stream, OutgoingHandler *handle
{
ssize_t n;
if (!stream) {
return;
}
if (handler->size == 0) {
handler->vec = handler->vec_buf;
handler->size = handler->cb->get_msg_size(handler->opaque);