Further to Perl threads test intermittently hangs on Windows, the simple program below appears to be leaking handles on Windows. That is, at the end of the run, Windows Task Manager (and sysinternals pslist command) both show the perl process has 1017 open handles. It seems the underlying Win32 thread handles are not being closed. Is there a way to force them to be closed? (I am using Active State Perl 5.8.3 build 809 on Windows XP).

#!/usr/bin/perl -w use strict; use threads; sub do_one_thread { warn "in kid\n" } sub do_thread { my $t = threads->new(\&do_one_thread); warn "parent $$: waiting for join\n"; $t->join(); warn "parent $$: thread exited\n"; } for my $i (1..1000) { warn "i=$i:---\n"; do_thread(); } warn "sleeping for 60 seconds (check handle count in Task Manager)\n"; sleep(60);

At the end of the run, the sysinternals pslist command reports 1017 open handles:

Name Pid Pri Thd Hnd Mem User Time Kernel Time Ela +psed Time perl 6560 8 1 1017 3232 0:00:15.203 0:00:00.203 0: +00:18.390

In reply to Perl threads test on Windows: how to close thread handles? by eyepopslikeamosquito

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.