From: Scott (cheesy4poofs_at_[hidden])
Date: 2006-09-06 09:01:58
> 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.
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?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk