kris vandercapellen wrote:
> Hi,
>
> I have been working on a httpsd for the past week.
>
> It does the following :
>
> 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);
> }
>
you're freeing SSL objects. Since you're running a server would an
occasional call to SSL_CTX_flush_sessions() work help?
tried valgrind-ing or something similar?
> So what is the problem here : It works fine, it just leaves a lot of
> used memory behind (memory leak ?)
>
-jb
--
No snowflake in an avalanche ever feels responsible.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]