diff options
Diffstat (limited to 'web/server/h2o/libh2o/misc/p5-Server-Starter/t/11-specified-fd-server.pl')
-rw-r--r-- | web/server/h2o/libh2o/misc/p5-Server-Starter/t/11-specified-fd-server.pl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/p5-Server-Starter/t/11-specified-fd-server.pl b/web/server/h2o/libh2o/misc/p5-Server-Starter/t/11-specified-fd-server.pl new file mode 100644 index 000000000..f05282ee1 --- /dev/null +++ b/web/server/h2o/libh2o/misc/p5-Server-Starter/t/11-specified-fd-server.pl @@ -0,0 +1,25 @@ +#! /usr/bin/perl +use strict; +use warnings; + +use lib qw(blib/lib lib); + +use IO::Socket::INET; +use Server::Starter qw(server_ports); + +die "fd must be zero" unless ((values %{server_ports()})[0]) eq 0; + +my $listener = IO::Socket::INET->new( + Proto => 'tcp', +); +$listener->fdopen(0, 'w') + or die "failed to bind listening socket:$!"; + +while (1) { + if (my $conn = $listener->accept) { + my $buf; + while ($conn->sysread($buf, 1048576) > 0) { + $conn->syswrite("$$:$buf"); + } + } +} |