-
-
Notifications
You must be signed in to change notification settings - Fork 979
Expect doesn't wake up after disconnect #670
Copy link
Copy link
Closed
Milestone
Description
If the connection is lost while we're waiting in ShellStream.Expect(), Expect() doesn't wake up, either hanging forever or until the timeout elapses.
Here's a simple repro. I configured the target server (a Cisco NCS-5K) to end sessions that have been idle for 30 seconds, and then I set an expect that never matches. The connection dies 30 seconds in, but the Supercalifragilisticexpialidocious Expect waits 5 excruciating minutes to return:
var ssh = new SshClient(info);
ssh.Connect();
using (var shell = ssh.CreateShellStream("xterm", 80, 80, 80, 80, 1024))
{
shell.Expect("#", TimeSpan.FromSeconds(30));
Trace.TraceInformation("Shell has started!");
var time = Stopwatch.StartNew();
var result = shell.Expect("Supercalifragilisticexpialidocious!", TimeSpan.FromMinutes(5));
Trace.TraceInformation($"Shell took {time.Elapsed} to time out..");
}Expect() should return immediately upon disconnect.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels