The stream's run function ensures that data buffered in the stream itself
gets pushed to the network. Only the SSL stream class has such a run
function, which means that SSL stream data failed to be pushed to the
remote peer in a timely manner in some cases.
Many thanks to Alex Yip for narrowing this down.
Reported-by: Alex Yip <alex@nicira.com>
Tested-by: Alex Yip <alex@nicira.com>
Bug #6221.
struct vconn_stream *s = vconn_stream_cast(vconn);
ssize_t retval;
+ stream_run(s->stream);
if (!s->txbuf) {
return;
}
{
struct vconn_stream *s = vconn_stream_cast(vconn);
+ stream_run_wait(s->stream);
if (s->txbuf) {
stream_send_wait(s->stream);
}