Re: git does not wait on hook exes (^C)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2020-02-21 at 01:20:51, Anthony Sottile wrote:
> My hook in question is a python process: https://pre-commit.com
> 
> It doesn't really do all that much on SIGINT but prints "(^C)
> Interrupted" and offers a crash log when receiving ^C -- this races
> with the git process terminating and causes terminal spew (sometimes
> with pretty bad consequences with input breaking until `reset`
> depending on which thing wins the tty reset race).

Thanks, this is helpful context.  I don't know that Git waiting for the
process is going to fix the broken terminal state, although it will
likely fix the jumbled output.

I'm not planning on writing a patch, but I think an interesting patch to
see might be if we called wait(2) in a loop in a SIGINT handler but
didn't reinstall the signal handler, which means that a second Ctrl-C
would kill Git.  I believe that's what certain other programs do, and
that might address many of the problems in both scenarios.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux