projectkudu/kudu — pull request #835 by ahmelsayed (2013-11-07 04:46:06+00:00)
Title: making DebugConsole interactive using signalr

Tab for autocomplete works using the file explorer as before.
Ctrl-C works as well. "\x3" (ASCII for ^C) is send from the client to the server and the server generates a ConsoleCtrlEvent
(http://msdn.microsoft.com/en-us/library/windows/desktop/ms683155%28v=vs.85%29.aspx)

There is a race condition that might occur between the ErrorStream and the OutputStream in sending data to the client. I take a sendSyncLock and make sure to delay the Output Stream if there is an error, but the race condition exists.