ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork/t/05_stdio.t
Revision: 1.2
Committed: Fri Apr 26 15:48:12 2013 UTC (11 years, 1 month ago) by root
Content type: application/x-troff
Branch: MAIN
Changes since 1.1: +2 -4 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
21 open STDIN , "<&" . fileno $oldin ;
22 open STDOUT, ">&" . fileno $oldout;
23
24 $a
25 };
26
27 print "ok 2\n";
28
29 my $fork = new_from_stdio AnyEvent::Fork $fh;
30
31 $fork->eval ('sub prr { syswrite $_[0], "ok 3\n"; exit }');
32
33 $fork->run ("prr", my $cv = AE::cv);
34 $fh = $cv->recv;
35
36 AnyEvent::Util::fh_nonblocking $fh, 0;
37
38 print <$fh>;
39
40 print "ok 4\n";
41