ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/65_event_07_io.t
Revision: 1.1
Committed: Wed Jul 8 04:49:18 2009 UTC (14 years, 10 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-4_82, rel-4_83, rel-4_81
Log Message:
*** empty log message ***

File Contents

# Content
1 $|=1;
2 BEGIN { print "1..18\n" }
3
4 use AnyEvent;
5 use AnyEvent::Util;
6 use AnyEvent::Impl::Event;
7
8 print "ok 1\n";
9
10 my ($a, $b) = AnyEvent::Util::portable_socketpair;
11
12 print $a && $b ? "" : "not ", "ok 2 # $a,$b\n";
13
14 my ($cv, $t, $ra, $wa, $rb, $wb);
15
16 $rb = AnyEvent->io (fh => $b, poll => "r", cb => sub {
17 print "ok 6\n";
18 sysread $b, my $buf, 1;
19 print "ok 7\n";
20 $wb = AnyEvent->io (fh => $b, poll => "w", cb => sub {
21 print "ok 8\n";
22 undef $wb;
23 syswrite $b, "1";
24 });
25 });
26
27 print "ok 3\n";
28
29 { my $cv = AnyEvent->condvar; $t = AnyEvent->timer (after => 0.05, cb => sub { $cv->send }); $cv->wait }
30
31 print "ok 4\n";
32
33 $wa = AnyEvent->io (fh => $a, poll => "w", cb => sub {
34 syswrite $a, "0";
35 undef $wa;
36 print "ok 5\n";
37 });
38
39 $ra = AnyEvent->io (fh => $a, poll => "r", cb => sub {
40 sysread $a, my $buf, 1;
41 print "ok 9\n";
42 $cv->send;
43 });
44
45 $cv = AnyEvent->condvar; $cv->wait;
46
47 print "ok 10\n";
48
49 $rb = AnyEvent->io (fh => fileno $b, poll => "r", cb => sub {
50 print "ok 14\n";
51 sysread $b, my $buf, 1;
52 print "ok 15\n";
53 $wb = AnyEvent->io (fh => fileno $b, poll => "w", cb => sub {
54 print "ok 16\n";
55 undef $wb;
56 syswrite $b, "1";
57 });
58 });
59
60 print "ok 11\n";
61
62 { my $cv = AnyEvent->condvar; $t = AnyEvent->timer (after => 0.05, cb => sub { $cv->send }); $cv->wait }
63
64 print "ok 12\n";
65
66 $wa = AnyEvent->io (fh => fileno $a, poll => "w", cb => sub {
67 syswrite $a, "0";
68 undef $wa;
69 print "ok 13\n";
70 });
71
72 $ra = AnyEvent->io (fh => $a, poll => "r", cb => sub {
73 sysread $a, my $buf, 1;
74 print "ok 17\n";
75 $cv->send;
76 });
77
78 $cv = AnyEvent->condvar; $cv->wait;
79
80 print "ok 18\n";
81