Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Nick Kostirya                        2:5020/400     27 Jan 2004  18:23:27
 To : All
 Subject : fork and IO::Dir
 -------------------------------------------------------------------------------- 
 
 Привет, обнаружил вот такую мистику на FreeBSD 4.9-RELEASE FreeBSD
 4.9-RELEASE #9:
 %perl -v
 This is perl, v5.8.0 built for i386-freebsd
 
 Есть перловый скрипт (код приведен ниже), который выполняется бесконечно на
 фришке.
 Hа линуже все нормально.
 Бесконечность пропадает либо при удалении форканья, либо при отказе
 использования модуля IO::Dir.
 
 Hикто с таким не сталкивался?
 Еще раз напомню, что на линуже все работает.
 use strict;
 use warnings;
 use POSIX ":sys_wait_h";
 
 my $childen = 0;
 
 $SIG{CHLD} = \&REAPER;
 
 sub REAPER {
 $SIG{CHLD} = \&REAPER;
 while (my $pid = waitpid(-1, WNOHANG) > 0){
 $childen--;
 }
 }
 
 sub forking {
 if (my $pid = fork) {
 $childen++;
 } else {
 die "Cannot fork: $!." unless defined $pid;
 exit;
 }
 }
 
 use IO::Dir;
 my $dir = new IO::Dir "." or warn("Can't open dir: $!.");
 
 while (defined($_ = $dir->read)) {
 print "$dir $$  $_\n";
 print $dir->tell(), "\n";
 forking();
 }
 --- ifmail v.2.15dev5.1
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 fork and IO::Dir   Nick Kostirya   27 Jan 2004 18:23:27 
 Re: fork and IO::Dir   Denis Poznyakov   28 Jan 2004 14:55:09 
 Re: fork and IO::Dir   Nick Kostirya   28 Jan 2004 15:02:00 
 Re: fork and IO::Dir   Denis Poznyakov   28 Jan 2004 16:09:35 
Архивное /ru.perl/657738e46d36.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional