I just completed 2 servers based upon Net::Daemon and found that under initial testing, they both had memory leaks.
Under the opinion that my code was correct (and it appears that it is), I started having a bit of a play with the Net::Daemon code (you know, putting in "I'm here" everywhere to see how it worked).
I then decided to output the thread list at an appropriate point in the program.
What I've discovered is that threads get created, and never get destroyed. You can test this by using the default Calculator.pm from the perldoc. If you put this into the Daemon.pm module (immediately after 'my $self = shift;'), you'll see what I mean:
print "::::::::::::: threads\n";
require Data::Dumper;
my $d = Data::Dumper->new([threads->list()]);
$d->Indent(1);
print $d->Dump;
print "::::::::::::: /threads\n";
Am I missing something here or not? Is it just me, or is it that Net::Daemon doesn't close threads?
VERY frustrated, so any help would be appreciated. Also, if you could suggest an alternative I'd be grateful.
Paul
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.