linux c send recv MSG_NOSIGNAL参数

  • 时间:
  • 来源:互联网
原文链接:https://blog.csdn.net/whatday/article/details/103363216

linux下当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会向系统发送一个异常消息,

如果不作处理,系统会出BrokePipe,程序会退出,这对于服务器提供稳定的服务将造成巨大的灾难。

为此,send()函数的最后一个参数可以设MSG_NOSIGNAL,禁止send()函数向系统发送异常消息

recv 设置此参数后 此操作不会被SIGPIPE 信号中断

返回值成功则返回接收到的字符数, 失败返回-1,错误原因存于errno 中.

本文链接http://element-ui.cn/news/show-520.aspx