在socket ssize_t send(int __fd, const void* __buf, size_t __n, int __flags)
中,我们得到了这个__flags
参数。我通过连接使用MSG_NOSIGNAL
标志。有没有办法在write
中实现此标记功能?由于我通过连接使用此标志,因此可以在创建socket
时设置它。随意提及如果有办法实现所有__flag
功能。
答案 0 :(得分:35)
没有。使用write
写入套接字时,与send
参数设置为零时调用flags
相同。
如果 fildes 指的是套接字, write()应相当于send(),且不设置标记。
然而,有一种方法可以设置"永久保留此标志,即忽略SIGPIPE
信号:
signal(SIGPIPE, SIG_IGN);