Re: [ANNOUNCE] EasyGit (eg) 0.97
On Fri, Jan 30, 2009 at 1:03 PM, Jeff King <peff@peff.net> wrote:
Show 18 quoted lines
> Ah, OK. I just peeked through the 'eg' source. It looks like you may
> have replicated the same bug that I just fixed in git. :)
>
> You want to make sure that "eg" is the last process to die (i.e.,
> _after_ the pager). Otherwise after it dies, less has trouble reading
> from the terminal (I don't know for sure, but I assume this has to do
> with the shell making "eg" the process group leader and magic about
> process groups and controlling terminals).
>
> I think perl may even do the wait() for you under ordinary
> circumstances. But, for example, if I kill "eg" with a signal (say, by
> hitting ^C), then it will die but the pager will live on. In git, we
> catch the signal and wait() before dying.
>
> So I don't know for sure that is your problem (it really depends on how
> much magic perl is doing behind the scenes with wait()ing on children,
> and I don't recall the exact details of that). But it is something to
> look into.
Thanks for the tips; I'll try to take a look and see what I can figure out.
Elijah