summaryrefslogtreecommitdiffstats
path: root/libssh/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/session.c')
-rw-r--r--libssh/session.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libssh/session.c b/libssh/session.c
index a73599e..bb7858e 100644
--- a/libssh/session.c
+++ b/libssh/session.c
@@ -43,6 +43,7 @@ SSH_SESSION *ssh_new() {
session->next_crypto=crypto_new();
session->maxchannel=FIRST_CHANNEL;
session->fd=-1;
+ session->alive=0;
session->blocking=1;
return session;
}
@@ -96,8 +97,10 @@ void ssh_cleanup(SSH_SESSION *session){
* \param session current ssh session
*/
void ssh_silent_disconnect(SSH_SESSION *session){
- close(session->fd);
+ if(session->fd>=0)
+ close(session->fd);
session->alive=0;
+ session->fd=-1;
ssh_disconnect(session);
}