Работает ли Perl IO :: Select в Windows с файловыми дескрипторами? - PullRequest
3 голосов
/ 09 ноября 2009

Работает ли IO :: Select в Windows с файловыми дескрипторами?

$pid = open $handle, "-|", "$_command" || die "Cannot run $_command";
my $s = IO::Select->new();
$s->add($handle);
$s->add(\*STDIN);
while (1) {
    @ready = $s->can_read(30);
    if (scalar(@ready) > 0) {
    }
    else {
    }
}

Мой сценарий непрерывно печатает что-то на экране, при открытии команда запускается в фоновом режиме, но can_read всегда терпит неудачу в Windows. Любая помощь?

1 Ответ

8 голосов
/ 09 ноября 2009

См. Тема PerlMonks :

select (базовый системный вызов, используемый IO::Select) работает только для сокетов в Windows.

MSDN документы для выбора подтвердить это:

Функция select определяет состояние одного или нескольких сокетов, ожидающих при необходимости выполнения синхронного ввода-вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...