|
|
|
|
|
|
|
|
// We might have been called to flush unwritten socket data |
|
|
// We might have been called to flush unwritten socket data |
|
|
cc->sock->outStream().flush(); |
|
|
cc->sock->outStream().flush(); |
|
|
|
|
|
|
|
|
cc->sock->outStream().cork(true); |
|
|
|
|
|
|
|
|
cc->getOutStream()->cork(true); |
|
|
|
|
|
|
|
|
// processMsg() only processes one message, so we need to loop |
|
|
// processMsg() only processes one message, so we need to loop |
|
|
// until the buffers are empty or things will stall. |
|
|
// until the buffers are empty or things will stall. |
|
|
|
|
|
|
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
cc->sock->outStream().cork(false); |
|
|
|
|
|
|
|
|
cc->getOutStream()->cork(false); |
|
|
} catch (rdr::EndOfStream& e) { |
|
|
} catch (rdr::EndOfStream& e) { |
|
|
vlog.info("%s", e.str()); |
|
|
vlog.info("%s", e.str()); |
|
|
if (!cc->desktop) { |
|
|
if (!cc->desktop) { |