[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Polling socket_t instead of ssh_socket


Hello,
I am looking into one issue i have with the libssh. The problem i have is
that the connect returns -1 with errno 115, basically the resource is not
ready yet.
So to solve this i added a select there to wait for the socket to be ready,
something like:
do{
    rc = connect(s, itr->ai_addr, itr->ai_addrlen);
    SSH_LOG(SSH_LOG_PACKET, "rc: '%d' errno: '%d' on socket: %d", rc,
errno, s);
    if(rc == -1 && errno ==EINPROGRESS ){
    FD_ZERO(&socks);
    timeout.tv_sec = 1;
timeout.tv_usec = 0;
    int readsocks = select(s+1, &socks, (fd_set *) 0,
      (fd_set *) 0, &timeout);
    }else
    break;
    }while(1);
#connect.c: ssh_connect_host_nonblocking

And this solves the issue, but from looking at the rest of the code i can
see that there is no select and everything is done via the poll module.
My question is can i use this module to poll the socket_t or this should be
done in a different way?

BR
--
-----
--------
João Pereira

Email: joao.almeida@xxxxxxxxxxx
Web: http://www.bluetc.es

Archive administrator: postmaster@lists.cynapses.org