Hi Junio, On 2015-04-15 20:48, Junio C Hamano wrote: > Johannes Sixt <j6t@xxxxxxxx> writes: > >> Windows does not have process groups. It is, therefore, the simplest >> to pretend that each process is in its own process group. >> >> While here, move the getppid() stub from its old location (between >> two sync related functions) next to the two new functions. >> >> Signed-off-by: Johannes Sixt <j6t@xxxxxxxx> >> --- > > Thanks for a quick update. > > The patch should do for now, but I suspect that it may give us a > better abstraction to make the "is_foreground_fd(int fd)" or even > "is_foreground(void)" the public API that would be implemented as > > int we_are_in_the_foreground(void) > { > return getpgid(0) == tcgetpgrp(fileno(stderr)); > } > > in POSIX and Windows can implement entirely differently. I really like it. We already require a couple of workarounds to be able to use `mintty` (which is a replacement terminal emulator that is more flexible than the default Windows terminal window, but it comes at the price that most Win32 programs think they are not running interactively inside a `mintty` session). I would really like to avoid having to finagle some really ugly code into `getpgid()` to make that test work. In general, I find it rewarding not only from a portability point of view, but *especially* from a readability one if the code contains functions that are named semantically, i.e. they describe *why* they are called, not *how* they answer the question. In this case, I would prefer the `is_foreground_fd(int fd)` one, but I am sure I can make the other signature work for us, too. Ciao, Dscho -- 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