ios - 使用SIGPIPE和SIG_IGN的信号功能

时间:2016-09-17 20:55:10

标签: ios

我加入了一个旧项目,我发现了这一行

- (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>.
 */

但是我仍然对这条线的目的感到困惑。

1 个答案:

答案 0 :(得分:5)

From Apple's documentation

  

当连接关闭时,默认情况下,您的进程会收到SIGPIPE信号。如果您的程序没有处理或忽略此信号,您​​的程序将立即退出。

     

使用以下代码行忽略全局信号:   信号(SIGPIPE,SIG_IGN);