Mercurial > hg > nginx-tests
comparison debug_connection_syslog.t @ 1127:6620cd57a96a
Tests: replaced all occurrences of vec/select API with IO::Select.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 10 Feb 2017 12:41:43 +0300 |
parents | a04323ab0622 |
children | bef8be8a6224 |
comparison
equal
deleted
inserted
replaced
1126:65fc7a0ca418 | 1127:6620cd57a96a |
---|---|
8 | 8 |
9 use warnings; | 9 use warnings; |
10 use strict; | 10 use strict; |
11 | 11 |
12 use Test::More; | 12 use Test::More; |
13 | |
14 use IO::Select; | |
13 | 15 |
14 BEGIN { use FindBin; chdir($FindBin::Bin); } | 16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
15 | 17 |
16 use lib 'lib'; | 18 use lib 'lib'; |
17 use Test::Nginx; | 19 use Test::Nginx; |
67 ############################################################################### | 69 ############################################################################### |
68 | 70 |
69 sub get_syslog { | 71 sub get_syslog { |
70 my ($uri, @port) = @_; | 72 my ($uri, @port) = @_; |
71 my (@s); | 73 my (@s); |
72 my $rfd = ''; | |
73 my @data; | 74 my @data; |
74 | 75 |
75 eval { | 76 eval { |
76 local $SIG{ALRM} = sub { die "timeout\n" }; | 77 local $SIG{ALRM} = sub { die "timeout\n" }; |
77 local $SIG{PIPE} = sub { die "sigpipe\n" }; | 78 local $SIG{PIPE} = sub { die "sigpipe\n" }; |
92 | 93 |
93 http_get($uri); | 94 http_get($uri); |
94 | 95 |
95 map { | 96 map { |
96 my $data = ''; | 97 my $data = ''; |
97 vec($rfd, fileno($_), 1) = 1; | 98 IO::Select->new($_)->can_read(1); |
98 select $rfd, undef, undef, 1; | 99 while (IO::Select->new($_)->can_read(0.1)) { |
99 while (select($rfd, undef, undef, 0.1) > 0 | |
100 && vec($rfd, fileno($_), 1)) | |
101 { | |
102 my ($buffer); | 100 my ($buffer); |
103 sysread($_, $buffer, 4096); | 101 sysread($_, $buffer, 4096); |
104 $data .= $buffer; | 102 $data .= $buffer; |
105 } | 103 } |
106 push @data, $data; | 104 push @data, $data; |