Going through the s_client.c example, I cannot find the section in which SSL handshaking occurs. The larger question is, in which call does OpenSSL take care of pending business? Around line 405 the init_client() call seems to be a regular socket connect that has nothing to do with SSL. Then the socket is set to non-blocking. Presumably the SSL handshaking has to take place after that, and within the endless for() loop. I would assume that the SSL_pending() call is responsible for returning true if SSL is in the middle of an operation that would otherwise block. Does it do this? Does it also handle these tasks? Otherwise, where do the handshaking and presumably other interim SSL tasks occur? Many thanks, David ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]