ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork/t/05_stdio.t
Revision: 1.3
Committed: Fri Apr 26 17:24:05 2013 UTC (11 years, 1 month ago) by root
Content type: application/x-troff
Branch: MAIN
Changes since 1.2: +3 -2 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 BEGIN { $| = 1; print "1..4\n"; }
2
3 use AnyEvent::Util;
4 use AnyEvent::Fork;
5 use Proc::FastSpawn;
6
7 print "ok 1\n";
8
9 my $fh = do {
10 my ($a, $b) = AnyEvent::Util::portable_socketpair
11 or die;
12
13 open $oldin , "<&0" or die;
14 open $oldout, ">&1" or die;
15
16 open STDIN , "<&" . fileno $b or die;
17 open STDOUT, ">&" . fileno $b or die;
18
19 #spawn $^X, ["perl"];
20 spawn "/usr/bin/rsh", ["rsh", "rain", "perl"];
21
22 open STDIN , "<&" . fileno $oldin ;
23 open STDOUT, ">&" . fileno $oldout;
24
25 $a
26 };
27
28 print "ok 2\n";
29
30 my $fork = new_from_stdio AnyEvent::Fork $fh;
31
32 $fork->eval ('sub prr { syswrite STDOUT, "ok 3\n"; exit }');
33
34 $fork->run ("prr", my $cv = AE::cv);
35 $fh = $cv->recv;
36
37 AnyEvent::Util::fh_nonblocking $fh, 0;
38
39 print <$fh>;
40
41 print "ok 4\n";
42