Subject: bug#33946: tail -f stops abruptly in AIX when piped.

From: Bernhard Voelker <[email-masked]>
Date: Sun, 20 Jan 2019 21:20:53 +0100

On 1/20/19 10:00 AM, Pádraig Brady wrote:
> Right. So the broken pipe is detected fine which is the main thing.
> It's just that the osc system has SIGPIPE ignored
> (python2 based systems do this by default, which may be related).

Bingo.

I confirmed that 'osc' is getting into the SIGPIPE handling by
directly chroot'ing into the build directory: the (previous version
of the) test passed.

> I was looking are setting normal handling with `trap - SIGPIPE` in the test,
> but that's only effective if ignored in the same shell.
> If the parent/login shell has ignored SIGPIPE,
> then resetting it is ineffective.
> However...
> 
> tail should be exiting irrespective of the handling of SIGPIPE.
> In fact it goes into an infinite loop in the edge case of:
> inotify + ignored sigpipe + early exit filters.
> 
> The attached ensures the tail process exits,
> which handles the infinite loop and the test failure.

LGTM: the test passes under 'osc' now, too.

Thanks & have a nice day,
Berny