Nope, still didn't solve the memory issue.
For now it looks like openssl isn't able to share connections in
between threads.

On 8/31/07, Marek Marcola <[EMAIL PROTECTED]> wrote:
> Hello,
> > StartupThreads are getting a incomming connection, create a
> > SSL_new(ctx), create a BIO_new(BIO_s_socket()), BIO_set_fd, and
> > SSL_set_bio. Then they SSL_accept(ssl), and SSL_read what is comming
> > in.
> >
> > So far so good.
> >
> > When the input is something this httpsd should react to, i put a
> > "user" class in an array, with bio, ssl and socket as class variables.
> >  To pass them on to a "worker" thread, which loops over this array and
> > SSL_writes to the ssl. (once every second)
> >
> > When SSL_write < 1, the socket gets closed and gets set to -1 and the
> > destructor for that user gets called by cleanup thread.
> > This is what is in there :
> >     if(bio) BIO_ssl_shutdown(bio);
> >     if(ssl){
> >         ERR_clear_error(); //added and removed  these, no difference
> >         ERR_remove_state(0); //idem
> >         SSL_shutdown(ssl);
> >         SSL_free(ssl);
> >     }
> >
> > So what is the problem here : It works fine, it just leaves a lot of
> > used memory behind (memory leak ?)
> I'm not sure, but maybe you should call ERR_remove_state(0) last
> (after SSL_free()) because error stack is allocated automatically
> and after this SSL_* calls you may allocate this stack again.
>
> Best regards,
> --
> Marek Marcola <[EMAIL PROTECTED]>
>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           [EMAIL PROTECTED]
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to