You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changes
Handle disconnects better to allow for file descriptor reuse for both clients.
Parallel clients no longer forcefully disconnect their clients at de-allocation -
now done by each individual SSHClient instead when that SSHClient goes out of scope.
This allows reading of output and anything associated with output, exit codes et al,
to work as long as one of either the client or an associated output object is alive.
SSHClient.disconnect is now a no-op and deprecated - handled by object de-allocation.
SSHClient.eagain is now a public function - wrapper for polling socket and calling a given socket using function.
SSHClient.eagain_write is now a public function - wrapper for polling socket and calling a given socket using
write function.
SSHClient, TunnelServer and LocalForwarder now use their own gevent pools for greenlets spawned so they
are cleaned up correctly at shutdown.
SSHClient.execute is now deprecated in favour of SSHClient.run_command.
Fixes
Forwarder threads used for proxies would not exit gracefully at interpreter shutdown, sometimes causing segfaults.
Client, both parallel and single, going out of scope would cause reading output from existing output objects
to break - #274
Explicitly calling SSHClient.disconnect would sometimes cause segfaults at interpreter shutdown.
Keepalives being configured on native client would keep client in scope forever.