是否可以确定accept()是否因为超时或者是否有其他错误而返回-1?
接受超时时,errno设置为11(资源暂时不可用)。这是唯一可以产生的错误吗?
答案 0 :(得分:1)
作为man page of accept()
。表示:
成功时,这些系统调用返回一个非负整数,即a 接受套接字的描述符。出错时,返回-1,并且 errno设置得恰当。
它也有错误编号列表。
此外,可能会返回新套接字和协议定义的网络错误。各种Linux内核可以返回其他错误,例如[..] ETIMEDOUT。
是否可以确定accept()是否因为超时或其他错误而返回-1?
将返回代码检查为-1后,您可以检查错误编号,并根据该错误编号决定,因为您的accept()失败了。
接受超时时,errno设置为11(资源暂时不可用)。这是唯一可以产生的错误吗?
不,这不是唯一的错误。您可以在手册页上看到所有错误。