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"maint
commit
6a7e25d155
|
|
@ -494,19 +494,16 @@ static HANDLE swap_osfhnd(int fd, HANDLE new_handle)
|
||||||
* It is because of this implicit close() that we created the
|
* It is because of this implicit close() that we created the
|
||||||
* copy of the original.
|
* copy of the original.
|
||||||
*
|
*
|
||||||
* Note that the OS can recycle HANDLE (numbers) just like it
|
* Note that we need to update the cached console handle to the
|
||||||
* recycles fd (numbers), so we must update the cached value
|
* duplicated one because the dup2() call will implicitly close
|
||||||
* of "console". You can use GetFileType() to see that
|
* the original one.
|
||||||
* handle and _get_osfhandle(fd) may have the same number
|
|
||||||
* value, but they refer to different actual files now.
|
|
||||||
*
|
*
|
||||||
* Note that dup2() when given target := {0,1,2} will also
|
* Note that dup2() when given target := {0,1,2} will also
|
||||||
* call SetStdHandle(), so we don't need to worry about that.
|
* call SetStdHandle(), so we don't need to worry about that.
|
||||||
*/
|
*/
|
||||||
dup2(new_fd, fd);
|
|
||||||
if (console == handle)
|
if (console == handle)
|
||||||
console = duplicate;
|
console = duplicate;
|
||||||
handle = INVALID_HANDLE_VALUE;
|
dup2(new_fd, fd);
|
||||||
|
|
||||||
/* Close the temp fd. This explicitly closes "new_handle"
|
/* Close the temp fd. This explicitly closes "new_handle"
|
||||||
* (because it has been associated with it).
|
* (because it has been associated with it).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue