Hi,

I'm debugging my server and I found that behind SSL_write() there are
ssl3_write_bytes() and ssl3_write_pending(). I assume that the last
function has a queue of pending messages that has to be sent. Before
SIGSEGV I was having SIGPIPE. When I ignored SIGPIPE (should I?)
sometimes I fall on a SIGSEGV. The problem arises that if a client has
left, the ssl3_write_pending() (is it works as I think, there's no man
page on that) will try to write to an unspecified BIO. Assuming that
we are having exclusive access to our client structure when we issue
SSL_write(), if the result is queued then when ssl3_write_pending()
really sends those bytes will be on a NULL BIO.

My question is: Does this SSL3_write_pending() works on the life of
SSL_write() ? That is, SSL_write() do not return untill
ssl3_write_pending() return. If ssl3_write_pending() is "forked" or
"threaded", how can we assure that ssl3_write_pending() will write on
an existing BIO?

Regards,
-- 
If you want freedom, compile the source. Get gentoo.

Sebastián Treu
http://labombiya.com.ar
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to