X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=t%2Fhttpd-corner.t;h=1f2bb53f7b932afacaedf22fca57ee871335d973;hp=4ed34934e500649470ba411629764afbe286f044;hb=9689c65f42c0acc9021953b29ce55730c4cd841d;hpb=ddec19694cbf0e1d94fb56c0fc4bd90eae540884 diff --git a/t/httpd-corner.t b/t/httpd-corner.t index 4ed34934..1f2bb53f 100644 --- a/t/httpd-corner.t +++ b/t/httpd-corner.t @@ -28,10 +28,11 @@ open(STDIN, '<', '/dev/null') or die 'no /dev/null: $!'; # Make sure we don't clobber socket options set by systemd or similar # using socket activation: -my ($defer_accept_val, $accf_arg); +my ($defer_accept_val, $accf_arg, $TCP_DEFER_ACCEPT); if ($^O eq 'linux') { - setsockopt($sock, IPPROTO_TCP, Socket::TCP_DEFER_ACCEPT(), 5) or die; - my $x = getsockopt($sock, IPPROTO_TCP, Socket::TCP_DEFER_ACCEPT()); + $TCP_DEFER_ACCEPT = eval { Socket::TCP_DEFER_ACCEPT() } // 9; + setsockopt($sock, IPPROTO_TCP, $TCP_DEFER_ACCEPT, 5) or die; + my $x = getsockopt($sock, IPPROTO_TCP, $TCP_DEFER_ACCEPT); defined $x or die "getsockopt: $!"; $defer_accept_val = unpack('i', $x); if ($defer_accept_val <= 0) { @@ -526,7 +527,7 @@ SKIP: { SKIP: { skip 'TCP_DEFER_ACCEPT is Linux-only', 1 if $^O ne 'linux'; - my $var = Socket::TCP_DEFER_ACCEPT(); + my $var = $TCP_DEFER_ACCEPT; defined(my $x = getsockopt($sock, IPPROTO_TCP, $var)) or die; is(unpack('i', $x), $defer_accept_val, 'TCP_DEFER_ACCEPT unchanged if previously set');