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

# User Rev Content
1 root 1.1 BEGIN { $| = 1; print "1..4\n"; }
2    
3     use AnyEvent::Util;
4     use AnyEvent::Fork;
5 root 1.2 use Proc::FastSpawn;
6 root 1.1
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 root 1.2 spawn $^X, ["perl"];
20 root 1.1
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