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