about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <BOFH@YHBT.net>2023-09-10 19:21:05 +0000
committerEric Wong <BOFH@YHBT.net>2023-09-10 19:55:18 +0000
commitb588ccbbf73547487f54fd1a9d5396d6848e8661 (patch)
treeae1fa41026f07bc5a990a89f92e30a37d5e48d3f /t
parentdd9f2efeebf20cfa1def0ce92cb4e35a8b5c1580 (diff)
downloadunicorn-b588ccbbf73547487f54fd1a9d5396d6848e8661.tar.gz
No need to startup more processes than necessary.
Diffstat (limited to 't')
-rw-r--r--t/integration.t13
1 files changed, 13 insertions, 0 deletions
diff --git a/t/integration.t b/t/integration.t
index 80485e4..bea221c 100644
--- a/t/integration.t
+++ b/t/integration.t
@@ -7,8 +7,16 @@
 
 use v5.14; BEGIN { require './t/lib.perl' };
 use autodie;
+use Socket qw(SOL_SOCKET SO_KEEPALIVE);
 our $srv = tcp_server();
 our $host_port = tcp_host_port($srv);
+
+if ('ensure Perl does not set SO_KEEPALIVE by default') {
+        my $val = getsockopt($srv, SOL_SOCKET, SO_KEEPALIVE);
+        unpack('i', $val) == 0 or
+                setsockopt($srv, SOL_SOCKET, SO_KEEPALIVE, pack('i', 0));
+        $val = getsockopt($srv, SOL_SOCKET, SO_KEEPALIVE);
+}
 my $t0 = time;
 open my $conf_fh, '>', $u_conf;
 $conf_fh->autoflush(1);
@@ -71,6 +79,11 @@ is_deeply([ grep(/^X-R2: /, @$hdr) ],
         [ 'X-R2: a', 'X-R2: b', 'X-R2: c' ],
         'rack 2 LF-delimited headers supported') or diag(explain($hdr));
 
+{
+        my $val = getsockopt($srv, SOL_SOCKET, SO_KEEPALIVE);
+        is(unpack('i', $val), 1, 'SO_KEEPALIVE set on inherited socket');
+}
+
 SKIP: { # Date header check
         my @d = grep(/^Date: /i, @$hdr);
         is(scalar(@d), 1, 'got one date header') or diag(explain(\@d));