ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/Async-Interrupt/t/04_apipe.t
Revision: 1.1
Committed: Fri Jul 17 01:51:32 2009 UTC (17 years, 2 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-1_1, rel-1_0, rel-0_501, rel-1_2, rel-1_02, rel-1_03, rel-1_01, rel-0_5, rel-1_04, rel-1_05, rel-1_24, rel-1_25, rel-1_26, rel-0_06, rel-1_21, rel-1_22, rel-1_23, HEAD
Log Message:
*** empty log message ***

File Contents

# Content
1 #! perl
2
3 no warnings;
4
5 print "1..14\n"; $|=1;
6
7 use Async::Interrupt;
8
9 my $ai = new Async::Interrupt
10 cb => sub { print "ok $_[0]\n" };
11
12 my $fd = $ai->pipe_fileno;
13
14 print "ok 1\n";
15 $ai->signal (2);
16 print "ok 3\n";
17
18 my ($vr, $vR); vec ($vr, $ai->pipe_fileno, 1) = 1;
19
20 my $n = select $vR=$vr, undef, undef, 0;
21 print $n == 0 ? "" : "not ", "ok 4 # $n\n";
22
23 $ai->block;
24 $ai->signal (7);
25 print "ok 5\n";
26 my $n = select $vR=$vr, undef, undef, 0;
27 print $n == 1 ? "" : "not ", "ok 6 # $n\n";
28 $ai->unblock;
29
30 my $n = select $vR=$vr, undef, undef, 0;
31 print $n == 0 ? "" : "not ", "ok 8 # $n\n";
32
33 $ai->signal (9);
34
35 my $n = select $vR=$vr, undef, undef, 0;
36 print $n == 0 ? "" : "not ", "ok 10 # $n\n";
37
38 $ai->pipe_disable;
39 $ai->scope_block;
40
41 $ai->signal (14);
42
43 my $n = select $vR=$vr, undef, undef, 0;
44 print $n == 0 ? "" : "not ", "ok 11 # $n\n";
45
46 $ai->post_fork;
47
48 print $fd == $ai->pipe_fileno ? "" : "not ", "ok 12\n";
49 $ai->post_fork;
50
51 print $fd == $ai->pipe_fileno ? "" : "not ", "ok 13\n";
52
53 undef $ai; # will cause signal to be sent
54