summaryrefslogtreecommitdiffstats
path: root/libssh/connect.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/connect.c')
-rw-r--r--libssh/connect.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libssh/connect.c b/libssh/connect.c
index d7962e1..44cb6a1 100644
--- a/libssh/connect.c
+++ b/libssh/connect.c
@@ -146,7 +146,7 @@ int ssh_connect_host(SSH_SESSION *session, const char *host, const char
}
freeaddrinfo(bind_ai);
}
- if(timeout){
+ if(timeout||usec){
return ssh_connect_ai_timeout(session,host,port,ai,timeout,usec,s);
}
if(connect(s,ai->ai_addr,ai->ai_addrlen)<0){
@@ -178,9 +178,10 @@ int ssh_fd_poll(SSH_SESSION *session, int *write, int *except){
FD_ZERO(&wdes);
FD_ZERO(&edes);
- if(!session->alive){
+ if(!session->alive || session->fd<0){
*except=1;
*write=0;
+ session->alive=0;
return 0;
}
if(!session->data_to_read)