我加入了一个旧项目,我发现了这一行
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
signal(SIGPIPE, SIG_IGN);
....
}
我在文档中找到了这个:
/*
* For historical reasons; programs expect signal's return value to be
* defined by <sys/signal.h>.
*/
但是我仍然对这条线的目的感到困惑。
答案 0 :(得分:5)
当连接关闭时,默认情况下,您的进程会收到SIGPIPE信号。如果您的程序没有处理或忽略此信号,您的程序将立即退出。
使用以下代码行忽略全局信号: 信号(SIGPIPE,SIG_IGN);