open返回0
有个函数中用了open。
第一次调用函数open返回0,
第二次调用函数后 open可以正常返回文件描述符,这个有什么门道吗?
strace跟踪
//第一次调用函数,open后抓了error no : Resource temporarily unavailable
open("/home/log/user.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 0
...
//第二次调用函数
open("/home/log/user.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 11
回复 1# lewy7
open 返回 0 说明成功了呀,0 也是个有效的文件描述符。 open失败是返回-1
open() and creat() return the new file descriptor, or -1 if an error occurred (inwhichcase,errnoisset
appropriately). 谁让你把stdin关了,肯定是在搞daemon对不? 顶猫大, 自己调daemon吧. 不要自己去close 0, 1, 2等等...
页:
[1]