+ let
+ val bio = F_OpenSSL_SML_pop.f' listener
+ in
+ if C.Ptr.isNull' bio then
+ (ssl_err "Null accepted";
+ raise OpenSSL "Null accepted")
+ else if F_OpenSSL_SML_do_handshake.f' bio <= 0 then
+ (ssl_err "Handshake failed";
+ raise OpenSSL "Handshake failed")
+ else
+ SOME bio
+ end