Boost logo

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