Как прослушать событие чтения и записи с AnyEvent? - PullRequest
1 голос
/ 21 ноября 2011
   $w = AnyEvent->io (
      fh   => <filehandle_or_fileno>,
      poll => <"r" or "w">,
      cb   => <callback>,
   );

Руководство , кажется, говорит, что оно может прослушивать только события чтения или записи,

как мне прослушать оба события?

1 Ответ

3 голосов
/ 21 ноября 2011

Установите два разных наблюдателя на один и тот же файловый дескриптор: r и w

#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;

use AnyEvent;

open my $FH, '+>','test' or die $!;

my $w; $w = AnyEvent->io (
    fh   => $FH,
    poll => "w",
    cb   => sub { say "I can write!"; undef $w; },
);

my $r; $r = AnyEvent->io (
    fh   => $FH,
    poll => "r",
    cb   => sub { say "I can read!"; undef $r; },
);

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