1 | $|=1; | 1 | $|=1; |
---|---|---|---|
2 | print "1..19\n"; | 2 | print "1..19\n"; |
3 | 3 | ||
4 | use Coro; | 4 | use Coro; |
5 | use Coro::Process; | ||
6 | use Coro::Channel; | 5 | use Coro::Channel; |
7 | 6 | ||
8 | my $q = new Coro::Channel 0; | 7 | my $q = new Coro::Channel 1; |
9 | 8 | ||
10 | sub producer : Coro { | 9 | sub producer : Coro { |
11 | for (1..9) { | 10 | for (1..9) { |
12 | print "ok ", $_*2, "\n"; | 11 | print "ok ", $_*2, "\n"; |
13 | $q->put($_); | 12 | $q->put($_); |
14 | } | 13 | } |
15 | } | 14 | } |
16 | 15 | ||
17 | print "ok 1\n"; | 16 | print "ok 1\n"; |
18 | yield; | 17 | cede; |
19 | 18 | ||
20 | for (11..19) { | 19 | for (11..19) { |
21 | my $x = do { local $_; $q->get }; | 20 | my $x = $q->get; |
22 | print $x == $_-10 ? "ok " : "not ok ", ($_-10)*2+1, "\n"; | 21 | print $x == $_-10 ? "ok " : "not ok ", ($_-10)*2+1, "\n"; |
23 | } | 22 | } |
24 | 23 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |