diff options
Diffstat (limited to 'web/server/h2o/libh2o/misc/p5-Server-Starter/t/07-envdir-print.pl')
-rwxr-xr-x | web/server/h2o/libh2o/misc/p5-Server-Starter/t/07-envdir-print.pl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/p5-Server-Starter/t/07-envdir-print.pl b/web/server/h2o/libh2o/misc/p5-Server-Starter/t/07-envdir-print.pl new file mode 100755 index 000000000..22cb01af0 --- /dev/null +++ b/web/server/h2o/libh2o/misc/p5-Server-Starter/t/07-envdir-print.pl @@ -0,0 +1,29 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +use lib qw(blib/lib lib); + +use IO::Socket::INET; +use Server::Starter qw(server_ports); + +$SIG{TERM} = $SIG{USR1} = sub { + exit 0; +}; + +my $listener = IO::Socket::INET->new( + Proto => 'tcp', +); +$listener->fdopen((values %{server_ports()})[0], 'w') + or die "failed to bind listening socket:$!"; + +while (1) { + if (my $conn = $listener->accept) { + my $s = ""; + for my $envkey (keys %ENV) { + $s .= $envkey . "=" . $ENV{$envkey} . "\n"; + } + $conn->syswrite($s); + } +} |