comparison 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 196d33c2bb45
children bef8be8a6224
comparison
equal deleted inserted replaced
1126:65fc7a0ca418 1127:6620cd57a96a
9 9
10 use warnings; 10 use warnings;
11 use strict; 11 use strict;
12 12
13 use Test::More; 13 use Test::More;
14
15 use IO::Select;
14 16
15 BEGIN { use FindBin; chdir($FindBin::Bin); } 17 BEGIN { use FindBin; chdir($FindBin::Bin); }
16 18
17 use lib 'lib'; 19 use lib 'lib';
18 use Test::Nginx; 20 use Test::Nginx;
240 } 242 }
241 243
242 sub get_syslog { 244 sub get_syslog {
243 my ($uri) = @_; 245 my ($uri) = @_;
244 my ($s); 246 my ($s);
245 my $rfd = '';
246 my $data = ''; 247 my $data = '';
247 248
248 eval { 249 eval {
249 local $SIG{ALRM} = sub { die "timeout\n" }; 250 local $SIG{ALRM} = sub { die "timeout\n" };
250 local $SIG{PIPE} = sub { die "sigpipe\n" }; 251 local $SIG{PIPE} = sub { die "sigpipe\n" };
261 return undef; 262 return undef;
262 } 263 }
263 264
264 http_get($uri); 265 http_get($uri);
265 266
266 vec($rfd, fileno($s), 1) = 1; 267 IO::Select->new($s)->can_read(1);
267 select $rfd, undef, undef, 1; 268 while (IO::Select->new($s)->can_read(0.1)) {
268 while (select($rfd, undef, undef, 0.1) > 0
269 && vec($rfd, fileno($s), 1))
270 {
271 my $buffer; 269 my $buffer;
272 sysread($s, $buffer, 4096); 270 sysread($s, $buffer, 4096);
273 $data .= $buffer; 271 $data .= $buffer;
274 } 272 }
275 $s->close(); 273 $s->close();