Title: Fork() after a good SSL_connect and SSL_accept - does it work?

I have a closed ('closed' in the sense that produce the client and the server applications) client/server application which optionally uses SSL to secure the session.   It's a mature propretiary client/server protocol which has been enhanced to add the SSL support.

On most platforms, the server starts a new thread to handle a new connection, but this happens after we execute the connect/accept sequence.  That is, the listener thread accepts and SSL_accepts the client, and then starts a new thread to handle the client.

On a couple of platforms, we can't, because of unrelated architectural reasons, use a thread for a new session.  We have to fork a new process after the accepting the client.  Is there any prayer for the child process, with inherited socket and memory image of the SSL structures, to actually succeed?  Do I need to re-initialize the library and everything else in the child process?  What the heck else would I have to do in this architecture.

Does anyone have experience with SSL in forked environments?  Thanks for your advice.  I have seen some hits on fork behavior in the archives but no answers.

Dave McLellan --Consulting Software Engineer - SPEA Engineering
EMC Corporation
228 South St. Mail Stop: 228 LL/AA-24
Hopkinton, MA 01748  USA
+1-508-249-1257 F: +1-508-497-8030  [EMAIL PROTECTED]

Reply via email to