Re: [PATCH] compat/mingw: stubs for getpgid() and tcgetpgrp()
From: Johannes Schindelin <hidden>
Date: 2016-06-15 23:04:27
Hi Junio, On 2015-04-15 20:48, Junio C Hamano wrote:
Johannes Sixt [off-list ref] writes:quoted
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 <redacted> ---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 -- -- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups "Git for Windows" group. To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.