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"
This commit is contained in:
Junio C Hamano 2017-01-31 13:32:11 -08:00
Родитель 63f1bb8109 1d3f065e0e
Коммит 6a7e25d155
1 изменённых файлов: 4 добавлений и 7 удалений

Просмотреть файл

@ -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).