在linux平台下使用tcp socket编写网络通信程序里,偶尔会造成kernel产生SIGPIPE信号。此信号会造成程序被kill。
究其原因是程序向一个已经被损坏的socket中两次写入东西。
故,在应用程序中,应该对这个信号进行处理。并对send之类的函数的返回值进行判断。(通常情况下,SIGPIPE先于send返回。)
本文讨论了在Linux平台下使用TCP Socket编程时遇到SIGPIPE信号的问题。该信号会在尝试向已损坏的Socket写入数据时触发,并导致程序异常终止。文章建议通过信号处理和对send函数返回值的检查来避免此类问题。
在linux平台下使用tcp socket编写网络通信程序里,偶尔会造成kernel产生SIGPIPE信号。此信号会造成程序被kill。
究其原因是程序向一个已经被损坏的socket中两次写入东西。
故,在应用程序中,应该对这个信号进行处理。并对send之类的函数的返回值进行判断。(通常情况下,SIGPIPE先于send返回。)
3835

被折叠的 条评论
为什么被折叠?