diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-01-31 13:32:11 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-01-31 13:32:11 -0800 |
commit | 6a7e25d155adb2c8a44173ec80fac7b0385a55a7 (patch) | |
tree | 0bb9ed6a493f31ab6499ccad2923ccca719d0457 /compat/winansi.c | |
parent | Merge branch 'jk/coding-guidelines-update' into maint (diff) | |
parent | mingw: follow-up to "replace isatty() hack" (diff) | |
download | tgif-6a7e25d155adb2c8a44173ec80fac7b0385a55a7.tar.xz |
Merge branch 'js/mingw-isatty' into maint
An update to a topic that is already in 'master'.
* js/mingw-isatty:
mingw: follow-up to "replace isatty() hack"
Diffstat (limited to 'compat/winansi.c')
-rw-r--r-- | compat/winansi.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/compat/winansi.c b/compat/winansi.c index 3c9ed3cfe0..82b89ab137 100644 --- a/compat/winansi.c +++ b/compat/winansi.c @@ -494,19 +494,16 @@ static HANDLE swap_osfhnd(int fd, HANDLE new_handle) * It is because of this implicit close() that we created the * copy of the original. * - * Note that the OS can recycle HANDLE (numbers) just like it - * recycles fd (numbers), so we must update the cached value - * of "console". You can use GetFileType() to see that - * handle and _get_osfhandle(fd) may have the same number - * value, but they refer to different actual files now. + * Note that we need to update the cached console handle to the + * duplicated one because the dup2() call will implicitly close + * the original one. * * Note that dup2() when given target := {0,1,2} will also * call SetStdHandle(), so we don't need to worry about that. */ - dup2(new_fd, fd); if (console == handle) console = duplicate; - handle = INVALID_HANDLE_VALUE; + dup2(new_fd, fd); /* Close the temp fd. This explicitly closes "new_handle" * (because it has been associated with it). |