It seems the problem lies in a recursive reference in StartTLS(
http://code.sixapart.com/svn/djabberd/trunk/DJabberd/lib/DJabberd/Stanza/StartTLS.pm
)

this call:
$conn->set_writer_func(DJabberd::Stanza::StartTLS->danga_socket_writerfunc($conn));

Sets up a circular reference where the 'socket_writer' function closes over
a reference to the connection, and the connection has a reference to this
writer function.

my solution, (please correct me if this is wrong):
was to alter the Connection.pm close function to do:

$self->set_writer_func(sub{ return 0;});

How can I get this change, (and potentially other changes I've
made) committed into the sixapart repository?

thanks,
Jacob


On Jan 24, 2008 5:21 PM, Jacob Burkhart <[EMAIL PROTECTED]> wrote:

> With the latest version of Djabberd from svn I'm getting a Djabberd
> process that grows continuously with each new connection.
>
> It appears to be related to StartTLS because I don't have this problem is
> I comment out my
> SSLCertificateFile and SSLCertificateKeyFile config directives.
>
> I must admit I know little to nothing about debugging memory leaks in
> perl.  Any suggestions?
>

Reply via email to