CODING_STYLE: mention that dup() should not be used
This commit is contained in:
parent
d95a74ed11
commit
9ff3e22aa9
|
@ -232,3 +232,10 @@
|
||||||
"return" to exit from the main function of a process. If you
|
"return" to exit from the main function of a process. If you
|
||||||
fork()ed off a child process, please use _exit() instead of exit(),
|
fork()ed off a child process, please use _exit() instead of exit(),
|
||||||
so that the exit handlers are not run.
|
so that the exit handlers are not run.
|
||||||
|
|
||||||
|
- Please never use dup(). Use fcntl(fd, F_DUPFD_CLOEXEC, 3)
|
||||||
|
instead. For two reason: first, you want O_CLOEXEC set on the new fd
|
||||||
|
(see above). Second, dup() will happily duplicate your fd as 0, 1,
|
||||||
|
2, i.e. stdin, stdout, stderr, should those fds be closed. Given the
|
||||||
|
special semantics of those fds, it's probably a good idea to avoid
|
||||||
|
them. F_DUPFD_CLOEXEC with "3" as parameter avoids them.
|
||||||
|
|
Loading…
Reference in a new issue