On Mon, Nov 26, 2018 at 11:06:40AM +0900, Junio C Hamano wrote: > I am offhand not sure what the right value of wait_after_clean for > this codepath be, though. 46df6906 ("execv_dashed_external: wait > for child on signal death", 2017-01-06) made this non-default but > turned it on for dashed externals (especially to help the case where > they spawn a pager), as the parent has nothing other than to wait > for the child to exit in that codepath. Does the same reasoning > apply here, too? As far as I understand, the reason to _not_ wait was that the child might still be expecting closed stdin even after receiving SIGTERM, so parent would wait forever. But this is not clearly the case here. And otherwise there should be no reason to not wait, as long as we are interested in synchronous exiting of the child. In my Linux experiments the child was exiting because of signal earlier than because of closed stdin, but who knows, maybe with some bad luck the signal would be delivered after the closed stdin, and we would still have the issue. After all, at Linux it was mostly working even without fix.