Revision: | 1.2 |
Committed: | Mon Feb 18 21:25:02 2002 UTC (22 years, 4 months ago) by root |
Content type: | application/x-troff |
Branch: | MAIN |
CVS Tags: | rel-2_5, rel-2_0, rel-2_1, rel-1_1, rel-1_0, rel-1_9, rel-1_2, rel-1_5, rel-1_4, rel-1_7, rel-1_6, rel-1_31, stack_sharing |
Changes since 1.1: | +8 -1 lines |
Log Message: | *** empty log message *** |
# | User | Rev | Content |
---|---|---|---|
1 | root | 1.2 | $| = 1; |
2 | |||
3 | if ($^O eq "cygwin") { | ||
4 | print "1..0 # skipped: pipe() blocking on cygwin\n"; | ||
5 | exit; | ||
6 | } | ||
7 | |||
8 | print "1..12\n"; | ||
9 | root | 1.1 | |
10 | use Coro; | ||
11 | use Coro::Event; | ||
12 | use Coro::Handle; | ||
13 | |||
14 | print "ok 1\n"; | ||
15 | |||
16 | pipe my ($r, $w) or die; | ||
17 | |||
18 | print "ok 2\n"; | ||
19 | |||
20 | $r = unblock $r; | ||
21 | $w = unblock $w; | ||
22 | |||
23 | print "ok 3\n"; | ||
24 | |||
25 | async { | ||
26 | print "ok 5\n"; | ||
27 | |||
28 | do_timer(after => 0.001); | ||
29 | |||
30 | print "ok 7\n"; | ||
31 | |||
32 | print $w "13\n"; | ||
33 | |||
34 | print "ok 8\n"; | ||
35 | |||
36 | $w->print($buf, "x" x (1024*128)); | ||
37 | |||
38 | print "ok 10\n"; | ||
39 | |||
40 | print $w "77\n"; | ||
41 | close $w; | ||
42 | }; | ||
43 | |||
44 | print "ok 4\n"; | ||
45 | |||
46 | cede; | ||
47 | |||
48 | print "ok 6\n"; | ||
49 | |||
50 | print <$r> == 13 ? "" : "not ", "ok 9\n"; | ||
51 | |||
52 | $r->read($buf, 1024*128); | ||
53 | |||
54 | print "ok 11\n"; | ||
55 | |||
56 | print <$r> == 77 ? "" : "not ", "ok 12\n"; | ||
57 | |||
58 |