On 3/25/2011 2:33 PM, Michal Stawinski wrote:

2011/3/25 David Schwartz<dav...@webmaster.com>:

        I don't know of any elegant solution. But there's a way that works.
Open a file descriptor or socket you don't care about (for example, open
/dev/null). Then 'dup2' that file descriptor over the file descriptor for
this connection. That will implicitly disassociate the descriptor from the
client's connection, so you can free the client BIO without affecting the
child.

This might be the way to go, though in fact it lacks elegance I
thought BIO's have. On the other hand, I'll probably have to go for it
anyway, so thank you very much anyway :)

Yes, it lacks elegance.

I would be gratefull if anyone can give me a rationale for such a BIO
design, or (even better) tell me I am a stupid bastard, and all I want
can be done using some other, clean and neat solution.

The BIO design was never designed to handle an application that 'fork's and then expects both halves to be able to continue operation. Many libraries have this 'defect'.

DS

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to