Subject: Re: [PATCH 0/1] Fix hang in t5562, introduced in v2.21.0-rc1

From: Max Kirillov <[email-masked]>
Date: Mon, 18 Feb 2019 23:17:25 +0200

On Mon, Feb 18, 2019 at 10:06:21PM +0100, Ævar Arnfjörð Bjarmason wrote:
>> But in our attempt to exit(), we try to "cleanup children" and that
>> is what gets stuck.
> 
> I have not paid enough attention to this thread to say if this is dumb,
> but just in case it's useful. For this class of problem where cleanup
> bites you for whatever reason in Perl, you can sometimes use this:
> 
>     use POSIX ();
>     POSIX::_exit($code);
> 
> This will call "exit" from "stdlib" instead of Perl's "exit". So go away
> *now* and let the OS deal with the mess. Perl's will run around cleaning
> up stuff, freeing memory, running destructors etc, all of which might
> have side effects you don't want/care about, and might (as maybe in this
> case?) cause some hang.

* Perl is running in foreground, so it cannot outlive test
  case and spoil the subsequent ones.
* From the dumps I have an impression that it waits
  legitimately - there are other processes to wait for.
  And anyway the waits happen before perl script comes to
  its exit.

Though I am already convinced that I should have done the
helper in C. Let's see when I have time to fix it.