
Hi Chris,
The error is actually SSL_ERROR_SYSCALL (which is 5), and it's showing up as "access denied" because it's not getting mapped correctly. Can you try the changes to openssl_operation.hpp shown below and see what you get as the real error. Thanks.
Cheers, Chris
[snip code] I made the changes you requested and unfortunately things aren't any clearer. What I'm seeing now is error_code == SSL_ERROR_SYSCALL. However, the line I added above: int sys_error_code = asio::detail::socket_ops::get_error(); sys_error_code == 0 Therefore, when the error happens, this return gets called if (error_code == SSL_ERROR_SYSCALL) return handler_(asio::error(sys_error_code), rc); Which boils down to: if (5 == SSL_ERROR_SYSCALL) return handler_(asio::error(0), -1); Since sys_error_code is zero, I no longer get an asio::error in my handler and my code continues to try to read from the socket, which causes lockups and assertion errors in my code. I think I preferred the old way :). Are there any other changes you would like me to try? Thanks, Scott