Despite my best efforts, I can't locate the patch that fixed the "Free to wrong pool" error during thread cleanup. I found this reference plus some others, but not the patch. I find it pretty difficult to find anything on the myriad perl.org lists, archives, news feeds and RT system. Maybe I just go about it the wrong way?
Anyway, you can work around the problem by replacing the line
$_->join for @threads;
with
use POSIX qw[_exit]; _exit 0;
This simply bypasses the thread cleanup code in perl and leaves the OS to clean up the mess, which it does without the associated message and segfault.
You could also upgrade to 5.8.1 but that means building perl, plus Win32::OLE yourself which is non-trivial, and the _exit() "fix" is simple and effective.
HTH.
In reply to Re: Re: Re: Re: Re: Threads problem.
by BrowserUk
in thread Threads problem.
by blackadder
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |