Jinsong Du wrote:
I have a simple server using blocked socket and OpenSSL, its only
function is for user registering an account. When an user connect to
this server, it spawns a child process to handle the request. I found
sometime child processes got stuck.
The problem here is that what if 2 users connects at the same moment (at
TCP level).
But only one of them completes the SSL hello sequence ?
If the one that didn't complete the SSL hello sequence got to be
serviced by ssl3_accept() first then you will find the other users (and
any subsequent users will be straved of CPU time to service their
connection).
This is because your parent process is blocked expecting to process TCP
data (that never arrives).
The problem is application design, you need to seperate the processing
of TCP level socket processing on accept from SSL level socket
processing on accept.
Darryl
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]