tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH] rfc: reuse previously closed descriptor in freopen()



What is the advantage to not reuse previously closed descriptor for fd >= 3?
---
 lib/libc/stdio/freopen.c | 2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/libc/stdio/freopen.c b/lib/libc/stdio/freopen.c
index c5909a7..180e807 100644
--- a/lib/libc/stdio/freopen.c
+++ b/lib/libc/stdio/freopen.c
@@ -165,7 +165,7 @@ freopen(file, mode, fp)
 * to maintain the descriptor. Various C library routines (perror)
 * assume stderr is always fd STDERR_FILENO, even if being freopen'd.
 */
- if (wantfd >= 0 && f != wantfd) {
+ if (wantfd >= 0 && f != wantfd && f < 3) {
 if (dup2(f, wantfd) >= 0) {
 (void) close(f);
 f = wantfd;
-- 
1.5.2.5


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /