aboutsummaryrefslogtreecommitdiff
path: root/libssh/connect.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2006-11-12 00:57:48 +0000
committerAris Adamantiadis <aris@0xbadc0de.be>2006-11-12 00:57:48 +0000
commitff273b26b366c1aa2502b3a9828b256cc8d04a06 (patch)
tree00176cf184e0ff22c427ae38768a35b694d918ef /libssh/connect.c
parent4442e0e26206a1242a0a9268de5e2731c439e34e (diff)
downloadlibssh-ff273b26b366c1aa2502b3a9828b256cc8d04a06.tar.gz
libssh-ff273b26b366c1aa2502b3a9828b256cc8d04a06.tar.xz
libssh-ff273b26b366c1aa2502b3a9828b256cc8d04a06.zip
oops, forgot to verify that it compiled fine
also, published changes from Norbert including lots of session->fd checks git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@81 7dcaeef0-15fb-0310-b436-a5af3365683c
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)