reopen STDIN and STDOUT as dev/null#28
Conversation
|
But STDIN is read only while STDOUT and STDERR are write only. |
|
Good point! A couple of typos to fix is all it needs then! |
There was a problem hiding this comment.
This should be "if (fd == STDIN_FILENO)" right?
|
Nope. If the new fd is already open, dup2() would close it before reusing. If the old fd is equal to the new fd dup2() does nothing. So there is no point to close fd if it is below or equal to STDERR_FILENO. |
|
Maxim Zakharov notifications@github.com writes:
Well, if you're assuming the continuity of stdin, stdout, and stderr, Cheers, |
|
It looks very good, but perhaps we need to add a comment that this code is rely on unix's property to always use lowest unused file descriptor. As I remember, Windows do not state such guaranty. |
|
Maxim Zakharov notifications@github.com writes:
Hmm, does this code even work on Windows at all? If so, might be nice Thanks, |
It is better to reopen STDIN and STDOUT as well as they may be used in a third-party application using ccan.