1 |
root |
1.1 |
BEGIN { $| = 1; print "1..18\n"; } |
2 |
|
|
|
3 |
|
|
use AnyEvent::Fork; |
4 |
|
|
|
5 |
|
|
print "ok 1\n"; |
6 |
|
|
|
7 |
|
|
my $proc = new AnyEvent::Fork; print "ok 2\n"; |
8 |
|
|
my $to1 = new AnyEvent::Fork; print "ok 3\n"; |
9 |
|
|
my $to2 = new AnyEvent::Fork; print "ok 4\n"; |
10 |
|
|
|
11 |
|
|
$to1->eval ("1"); |
12 |
|
|
|
13 |
|
|
print "ok 5\n"; |
14 |
|
|
|
15 |
|
|
my $fh1 = do { $to1->to_fh (my $cv = AE::cv); $cv->recv }; print "ok 6\n"; |
16 |
|
|
my $fh2 = do { $to2->to_fh (my $cv = AE::cv); $cv->recv }; print "ok 7\n"; |
17 |
|
|
|
18 |
|
|
undef $to1; |
19 |
|
|
undef $to2; |
20 |
|
|
|
21 |
|
|
print $proc ? "" : "not ", "ok 8\n"; |
22 |
|
|
|
23 |
|
|
use AnyEvent::Util; |
24 |
|
|
|
25 |
|
|
print +(my ($r1, $w1) = AnyEvent::Util::portable_pipe) ? "" : "not ", "ok 9\n"; |
26 |
|
|
print +(my ($r2, $w2) = AnyEvent::Util::portable_pipe) ? "" : "not ", "ok 10\n"; |
27 |
|
|
|
28 |
|
|
$proc->send_fh ($fh1); undef $fh1; $proc->send_fh ($w1); undef $w1; print "ok 11\n"; |
29 |
|
|
$proc->send_fh ($fh2); undef $fh2; $proc->send_fh ($w2); undef $w2; print "ok 12\n"; |
30 |
|
|
|
31 |
|
|
$proc->eval (' |
32 |
|
|
use AnyEvent; |
33 |
|
|
use AnyEvent::Fork; |
34 |
|
|
|
35 |
|
|
my $to1 = new_from_fh AnyEvent::Fork $arg[0]; $to1->send_fh ($arg[1]); $to1->eval ($_[0]); |
36 |
|
|
my $to2 = new_from_fh AnyEvent::Fork $arg[2]; $to2->send_fh ($arg[3]); $to2->eval ($_[1]); |
37 |
|
|
|
38 |
|
|
$to1->to_fh (my $cv1 = AE::cv); readline $cv1->recv; |
39 |
|
|
$to2->to_fh (my $cv2 = AE::cv); readline $cv2->recv; |
40 |
|
|
',' |
41 |
|
|
syswrite $arg[0], "172"; |
42 |
|
|
',' |
43 |
|
|
syswrite $arg[0], "174"; |
44 |
|
|
'); |
45 |
|
|
|
46 |
|
|
print "ok 13\n"; |
47 |
|
|
|
48 |
|
|
do { $proc->to_fh (my $cv = AE::cv); $cv->recv }; |
49 |
|
|
|
50 |
|
|
print "ok 14\n"; |
51 |
|
|
|
52 |
|
|
undef $proc; |
53 |
|
|
|
54 |
|
|
print "ok 15\n"; |
55 |
|
|
|
56 |
|
|
$r1 = <$r1>; |
57 |
|
|
print $r1 eq "172" ? "" : "not ", "ok 16 # $r1\n"; |
58 |
|
|
|
59 |
|
|
$r2 = <$r2>; |
60 |
|
|
print $r2 eq "174" ? "" : "not ", "ok 17 # $r2\n"; |
61 |
|
|
|
62 |
|
|
print "ok 18\n"; |
63 |
|
|
|