1 | BEGIN { $| = 1; print "1..6\n"; } |
1 | BEGIN { $| = 1; print "1..6\n"; } |
2 | END {print "not ok 1\n" unless $loaded;} |
2 | END {print "not ok 1\n" unless $loaded;} |
3 | use Coro; |
3 | use Coro::State; |
4 | $loaded = 1; |
4 | $loaded = 1; |
5 | print "ok 1\n"; |
5 | print "ok 1\n"; |
6 | |
6 | |
7 | my $main = $Coro::main; |
7 | my $main = new Coro::State; |
8 | my $proc = new Coro \&a; |
8 | my $proc = new Coro::State \&a; |
9 | |
9 | |
10 | sub a { |
10 | sub a { |
11 | print "ok 3\n"; |
11 | print "ok 3\n"; |
12 | $main->resume; |
12 | $proc->transfer($main, 0); |
13 | print "ok 5\n"; |
13 | print "ok 5\n"; |
14 | $main; |
14 | $proc->transfer($main, 0); |
|
|
15 | die; |
15 | } |
16 | } |
16 | |
17 | |
17 | print "ok 2\n"; |
18 | print "ok 2\n"; |
18 | $proc->resume; |
19 | $main->transfer($proc, 0); |
19 | print "ok 4\n"; |
20 | print "ok 4\n"; |
20 | $proc->resume; |
21 | $main->transfer($proc, 0); |
21 | print "ok 6\n"; |
22 | print "ok 6\n"; |
22 | |
23 | |