From 52d58cec22855c17c06e83fa4aeb1d090c3809d5 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Mon, 28 Jan 2013 17:45:34 +0800 Subject: [PATCH] force ssl rw bios nonblocking Signed-off-by: Andy Green --- lib/server.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/server.c b/lib/server.c index 03c0a26..6f8e437 100644 --- a/lib/server.c +++ b/lib/server.c @@ -143,6 +143,7 @@ int lws_server_socket_service(struct libwebsocket_context *context, int m; int opt = 1; ssize_t len; + BIO *bio; switch (wsi->mode) { @@ -281,6 +282,17 @@ int lws_server_socket_service(struct libwebsocket_context *context, SSL_set_fd(new_wsi->ssl, accept_fd); + bio = SSL_get_rbio(new_wsi->ssl); + if (bio) + BIO_set_nbio(bio, 1); /* nonblocking */ + else + lwsl_notice("NULL rbio\n"); + bio = SSL_get_wbio(new_wsi->ssl); + if (bio) + BIO_set_nbio(bio, 1); /* nonblocking */ + else + lwsl_notice("NULL rbio\n"); + /* * we are not accepted yet, but we need to enter ourselves * as a live connection. That way we can retry when more -- 2.7.4