有可能套接字上的write()调用失败,但poll()不是 检测到任何错误?是否有任何类型的错误会导致写入失败,但不被poll()系统调用视为错误?是否有可能网络写入()失败但poll()未检测到
我有一个调度程序线程持续监视套接字,并负责检测和处理套接字错误,负责 。 我有一个工作线程,当调度程序线程通知时,它会在套接字上进行实际的读写操作。 工作线程的write()调用失败,但调度程序线程的poll()系统调用从不报告错误。这怎么发生!
有可能套接字上的write()调用失败,但poll()不是 检测到任何错误?是否有任何类型的错误会导致写入失败,但不被poll()系统调用视为错误?是否有可能网络写入()失败但poll()未检测到
我有一个调度程序线程持续监视套接字,并负责检测和处理套接字错误,负责 。 我有一个工作线程,当调度程序线程通知时,它会在套接字上进行实际的读写操作。 工作线程的write()调用失败,但调度程序线程的poll()系统调用从不报告错误。这怎么发生!
如果write()
失败,则返回-1并设置errno
。 这是您收到错误的唯一迹象。如果您需要在其他地方发送该错误,则需要自己做。
poll()
将单独检测某些可能导致此错误的异常情况,如关闭的TCP连接。这与“检测”失败的write()
-poll()
不相同,也不能检测到这些错误。
哪个errno会失败? –