--- stunnel-4.09/src/client.c Fri Mar 11 19:37:27 2005 +++ stunnel-4.09-fixed/src/client.c Fri Apr 1 12:16:13 2005 @@ -394,10 +394,18 @@ s_poll_add(&fds, c->ssl_wfd->fd, 0, 1); /****************************** wait for an event */ + if(fds.nfds) + { err=s_poll_wait(&fds, (sock_rd && ssl_rd) /* both peers open */ || c->ssl_ptr /* data buffered to write to socket */ || c->sock_ptr /* data buffered to write to SSL */ ? c->opt->timeout_idle : c->opt->timeout_close); + } + else + { + err = 0; + } + switch(err) { case -1: sockerror("s_poll_wait");