ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork/t/05_stdio.t
Revision: 1.1
Committed: Fri Apr 26 15:44:44 2013 UTC (11 years, 1 month ago) by root
Content type: application/x-troff
Branch: MAIN
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    
6     print "ok 1\n";
7    
8     my $fh = do {
9     my ($a, $b) = AnyEvent::Util::portable_socketpair
10     or die;
11    
12     open $oldin , "<&0" or die;
13     open $oldout, ">&1" or die;
14    
15     open STDIN , "<&" . fileno $b or die;
16     open STDOUT, ">&" . fileno $b or die;
17    
18     if (fork eq 0) {
19     exec "$^X";
20     exit 127;
21     }
22    
23     open STDIN , "<&" . fileno $oldin ;
24     open STDOUT, ">&" . fileno $oldout;
25    
26     $a
27     };
28    
29     print "ok 2\n";
30    
31     my $fork = new_from_stdio AnyEvent::Fork $fh;
32    
33     $fork->eval ('sub prr { syswrite $_[0], "ok 3\n"; exit }');
34    
35     $fork->run ("prr", my $cv = AE::cv);
36     $fh = $cv->recv;
37    
38     AnyEvent::Util::fh_nonblocking $fh, 0;
39    
40     print <$fh>;
41    
42     print "ok 4\n";
43