|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : warlock 2:5020/400 05 Sep 2005 11:27:37 To : All Subject : FreeBSD + Perl ithreads -------------------------------------------------------------------------------- Всем привет, Hаткнулся на утечку памяти в связке FreeBSD 5.4 + Perl 5.8.7 + ithreads. Простой пример, который легко загоняется в корку: #!/usr/bin/perl use threads; use strict; use warnings; sub thread_func { my $i = shift; print "$i\n"; } sub main { my (@thread, $i); for ( $i = 0; $i < 400; $i++ ) { $thread[$i] = threads->create("thread_func",$i); #$thread_ID -> detach(); } for ( $i = 0; $i < 400; $i++ ) { $thread[$i] -> join(); } sleep(10); for ( $i = 0; $i < 400; $i++ ) { $thread[$i] = threads->create("thread_func",$i); } for ( $i = 0; $i < 400; $i++ ) { $thread[$i] -> join(); } sleep(10); } &main(); Какието ресурсы (видмо интерпритатор для каждой триды)не отпускается после завершения. И естсесвенно как только дело доходит до свопа - перл падет в корку. Результат одинаково отрицательный как с join так и с detach. Есть у когонить идеи как боротся? Спасибо warlock --- ifmail v.2.15dev5.3 * Origin: elcat (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/85787bdf0baa.html, оценка из 5, голосов 10
|