File tree Expand file tree Collapse file tree 1 file changed +4
-7
lines changed Expand file tree Collapse file tree 1 file changed +4
-7
lines changed Original file line number Diff line number Diff line change @@ -494,19 +494,16 @@ static HANDLE swap_osfhnd(int fd, HANDLE new_handle)
494
494
* It is because of this implicit close() that we created the
495
495
* copy of the original.
496
496
*
497
- * Note that the OS can recycle HANDLE (numbers) just like it
498
- * recycles fd (numbers), so we must update the cached value
499
- * of "console". You can use GetFileType() to see that
500
- * handle and _get_osfhandle(fd) may have the same number
501
- * value, but they refer to different actual files now.
497
+ * Note that we need to update the cached console handle to the
498
+ * duplicated one because the dup2() call will implicitly close
499
+ * the original one.
502
500
*
503
501
* Note that dup2() when given target := {0,1,2} will also
504
502
* call SetStdHandle(), so we don't need to worry about that.
505
503
*/
506
- dup2 (new_fd , fd );
507
504
if (console == handle )
508
505
console = duplicate ;
509
- handle = INVALID_HANDLE_VALUE ;
506
+ dup2 ( new_fd , fd ) ;
510
507
511
508
/* Close the temp fd. This explicitly closes "new_handle"
512
509
* (because it has been associated with it).
You can’t perform that action at this time.
0 commit comments