03.12 dup 等效于 fcntl 的 F_DUPFD 选项
fcntl(fd, F_DUPFD, 0)
相当于
dup(fd)
在两次调用间没有其他线程、信号量处理等可能再次打开 fd2 的情况下:
close(fd2)
fcntl(fd, F_DUPFD, fd2)
相当于
dup2(fd, fd2)
但是没有原子性,而且 errno 有差异。
fcntl(fd, F_DUPFD, 0)
相当于
dup(fd)
在两次调用间没有其他线程、信号量处理等可能再次打开 fd2 的情况下:
close(fd2)
fcntl(fd, F_DUPFD, fd2)
相当于
dup2(fd, fd2)
但是没有原子性,而且 errno 有差异。