… | |
… | |
3 | use Coro::State; |
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 = new Coro::State; |
7 | my $main = new Coro::State; |
8 | my $proc = new Coro::State \&a; |
8 | my $proca = new Coro::State \&a; |
9 | my $proc2 = new Coro::State \&b; |
9 | my $procb = new Coro::State \&b; |
10 | |
10 | |
11 | sub a { |
11 | sub a { |
12 | $/ = 77; |
12 | $/ = 77; |
13 | print "ok 3\n"; |
13 | print "ok 3\n"; |
14 | $proc->transfer ($main); |
14 | $proca->transfer ($main); |
15 | print $/ == 77 ? "" : "not ", "ok 5\n"; |
15 | print $/ == 77 ? "" : "not ", "ok 5\n"; |
16 | $proc->transfer ($main); |
16 | $proca->transfer ($main); |
17 | print "not ok 6\n"; |
17 | print "not ok 6\n"; |
18 | die; |
18 | die; |
19 | } |
19 | } |
20 | |
20 | |
21 | sub b { |
21 | sub b { |
22 | print $/ != 55 ? "not " : "", "ok 7\n"; |
22 | print $/ != 55 ? "not " : "", "ok 7\n"; |
23 | $proc2->transfer ($main); |
23 | $procb->transfer ($main); |
24 | print "not ok 8\n"; |
24 | print "not ok 8\n"; |
25 | die; |
25 | die; |
26 | } |
26 | } |
27 | |
27 | |
28 | $proc2->save (0); |
|
|
29 | |
|
|
30 | $/ = 55; |
28 | $/ = 55; |
31 | |
29 | |
32 | print "ok 2\n"; |
30 | print "ok 2\n"; |
33 | $main->transfer ($proc); |
31 | $main->transfer ($proca); |
34 | print $/ != 55 ? "not " : "ok 4\n"; |
32 | print $/ != 55 ? "not " : "ok 4\n"; |
35 | $main->transfer ($proc); |
33 | $main->transfer ($proca); |
36 | print $/ != 55 ? "not " : "ok 6\n"; |
34 | print $/ != 55 ? "not " : "ok 6\n"; |
37 | $main->transfer ($proc2); |
35 | $main->transfer ($procb); |
38 | print $/ != 55 ? "not " : "ok 8\n"; |
36 | print $/ != 55 ? "not " : "ok 8\n"; |
39 | |
37 | |