From 46a61869ca066405c47ac5d8036e8c9c5a676f52 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 14 Aug 2009 20:07:17 +0000 Subject: [PATCH] Disable whichever struct event we don't want during ssl handshaking. svn:r1417 --- bufferevent_openssl.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c index 90d72283..f099f30b 100644 --- a/bufferevent_openssl.c +++ b/bufferevent_openssl.c @@ -808,16 +808,16 @@ do_handshake(struct bufferevent_openssl *bev_ssl) print_err(err); switch (err) { case SSL_ERROR_WANT_WRITE: - /* XXXX we only want to do this for the socket case. - stop_reading(bev_ssl); - start_writing(bev_ssl); - */ + if (!bev_ssl->underlying) { + stop_reading(bev_ssl); + start_writing(bev_ssl); + } return 0; case SSL_ERROR_WANT_READ: - /* XXXX we only want to do this for the socket case. - stop_reading(bev_ssl); - start_writing(bev_ssl); - */ + if (!bev_ssl->underlying) { + stop_writing(bev_ssl); + start_reading(bev_ssl); + } return 0; default: conn_closed(bev_ssl, err, r); -- 2.50.1