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?
>