On Fri, Jan 30, 2009 at 1:03 PM, Jeff King <peff@xxxxxxxx> wrote: > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html