From c88a8c39c987c16e71ae69536ba40d7a30dabd7f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 2 Jan 2023 08:18:47 +0000 Subject: [PATCH] t/httpd-unix.t: stop tail(1) before stopping server When using the `TAIL' environment, the tail(1) process inherits the non-FD_CLOEXEC pipe we introduced in commit 5f9baf725106 (t/httpd-unix: eliminate some busy waits, 2022-12-12). We must ensure that pipe is gone before waiting on -httpd's death by destroying the tail(1) process, first. --- t/httpd-unix.t | 1 + 1 file changed, 1 insertion(+) diff --git a/t/httpd-unix.t b/t/httpd-unix.t index c45ff163..414ca0c8 100644 --- a/t/httpd-unix.t +++ b/t/httpd-unix.t @@ -136,6 +136,7 @@ SKIP: { my $pid = $read_pid->($pid_file); is(kill('TERM', $pid), 1, "signaled daemonized $w process"); vec(my $rvec = '', fileno($p0), 1) = 1; + delete $td->{-extra}; # drop tail(1) process is(select($rvec, undef, undef, 1), 1, 'timeout for pipe HUP'); is(my $undef = <$p0>, undef, 'process closed pipe writer at exit'); ok(!-e $pid_file, "$w pid file unlinked at exit"); -- 2.44.0