1 | #!perl |
1 | #!perl |
2 | |
2 | |
3 | use strict; |
3 | use strict; |
4 | |
4 | |
5 | use AnyEvent::Impl::Perl; |
5 | use AnyEvent; |
|
|
6 | BEGIN { require AnyEvent::Impl::Perl unless $ENV{PERL_ANYEVENT_MODEL} } |
|
|
7 | use AnyEvent::Util; |
6 | use AnyEvent::Handle; |
8 | use AnyEvent::Handle; |
7 | use Socket; |
9 | use Socket; |
8 | |
10 | |
9 | print "1..7\n"; |
11 | print "1..7\n"; |
10 | |
12 | |
11 | my $cv = AnyEvent->condvar; |
13 | my $cv = AnyEvent->condvar; |
12 | |
14 | |
13 | socketpair my $rd, my $wr, AF_UNIX, SOCK_STREAM, PF_UNSPEC; |
15 | my ($rd, $wr) = portable_socketpair; |
14 | |
16 | |
15 | my $rd_ae = |
17 | my $rd_ae = |
16 | AnyEvent::Handle->new ( |
18 | AnyEvent::Handle->new ( |
17 | fh => $rd, |
19 | fh => $rd, |
18 | on_eof => sub { |
20 | on_eof => sub { |
… | |
… | |
45 | $wr_ae->on_drain; |
47 | $wr_ae->on_drain; |
46 | print "ok " . $n++ . " - fourth write\n"; |
48 | print "ok " . $n++ . " - fourth write\n"; |
47 | |
49 | |
48 | }); |
50 | }); |
49 | |
51 | |
50 | $rd_ae->push_read (chunk => 1, sub { |
52 | $rd_ae->push_read (chunk => 5000, sub { |
51 | print "ok " . $n++ . " - second read chunk\n"; |
53 | print "ok " . $n++ . " - second read chunk\n"; |
52 | $cv->broadcast |
54 | $cv->broadcast |
53 | }); |
55 | }); |
54 | }); |
56 | }); |
55 | |
57 | |