当前位置: 技术问答>linux和unix
为什么dup/dup2要清楚close-on-exec标志位?
来源: 互联网 发布时间:2017-04-18
本文导语: APUE上面说,如果open的时候指定了O_CLOEXEC那么在dup/dup2的时候会清理掉这个标志位。 同样如果用fcntl的F_DUPFD操作来dup的话,也是同样的效果。 问题是: 为什么要在dup的时候去清理这个标志位呢? 不清理会有什么问题吗...
APUE上面说,如果open的时候指定了O_CLOEXEC那么在dup/dup2的时候会清理掉这个标志位。
同样如果用fcntl的F_DUPFD操作来dup的话,也是同样的效果。
问题是: 为什么要在dup的时候去清理这个标志位呢?
不清理会有什么问题吗? 其他的标志位在dup的时候为什么不清理?
同样如果用fcntl的F_DUPFD操作来dup的话,也是同样的效果。
问题是: 为什么要在dup的时候去清理这个标志位呢?
不清理会有什么问题吗? 其他的标志位在dup的时候为什么不清理?
|
这个应该只是一个选择吧,像dup3和dup2相比就多了O_CLOEXEC可控功能
而fcntl也有一个F_DUPFD_CLOEXEC枚举选项,O_CLOEXEC可用
而fcntl也有一个F_DUPFD_CLOEXEC枚举选项,O_CLOEXEC可用
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。