Method: OpenSSL::SSL::SSLSocket#accept_nonblock

Defined in:
ossl_ssl.c

#accept_nonblockself

Initiates the SSL/TLS handshake as a server in non-blocking manner.

# emulates blocking accept
begin
  ssl.accept_nonblock
rescue IO::WaitReadable
  IO.select([s2])
  retry
rescue IO::WaitWritable
  IO.select(nil, [s2])
  retry
end

Returns:

  • (self)


1366
1367
1368
1369
1370
1371
# File 'ossl_ssl.c', line 1366

static VALUE
ossl_ssl_accept_nonblock(VALUE self)
{
    ossl_ssl_setup(self);
    return ossl_start_ssl(self, SSL_accept, "SSL_accept", 1);
}