iOS编程-XCodeDebug忽略SIGPIPE信号 ios sigpipe

在使用socket的send函数时,如果此时服务器断开连接,socket将会收到brokenpipe的错误。我们可以判断类似的错误来进行重连,但是在这之前系统就会发出SIGPIPE的信号,导致我们的程序crash。所以我们需要先屏蔽sigpipe的信号

struct sigaction sa;

structsigactionosa;

sa.sa_handler=custom_handle;

sigaction(SIGPIPE, &sa, &osa);

这样我们在收到系统的SIGPIPE信号后就不会crash,而是会跑到 我们自定义的handle函数里面

当然我们还不能忘记在socket不使用的时候还原系统的信号设置

sigaction(SIGPIPE,&osa, 0);

这时我们的程序虽然不会crash,但是在debug会非常恼人的收到系统触发的debug中断,使得我们的调试非常烦躁,我个人的解决方法是调试时候在入口设置断点,是debugconsole进入 gdb或是lldb的状态 然后忽略SIGPIPE信号的stop

gdb

handle SIGPIPE nostop

lldb

process handle SIGPIPE -s false

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/280708.html

更多阅读

iOS版iPad/iPhone太鼓达人音乐包安装教程 太鼓达人ipad下载

?很多朋友们喜爱玩太鼓达人,但是太鼓达人的音乐包需要收费。那么我们就在网上下载太鼓达人的音乐包吧。小编这里为大家带来一篇iOS版iPad/iPhone太鼓达人音乐包安装教程。希望看了小编的教程能让大家学会太鼓达人音乐包安装的方法。

UDIDFaker——伪造iOS设备udid永久试用 udidfaker源

UDIDFaker——伪造iOS设备udid永久试用——简介UDIDFaker是一款刚刚在Cydia上架的插件,可以帮助用户伪造iPhone或者iPad的udid。有些好玩的应用或者游戏前期提供试用,后期开始收费。用户可以使用这款插件,伪造一个udid,那么这个应用app

苹果 iOS 7 超好用的 Spotlight 搜索使用技巧 mac spotlight 技巧

苹果 iOS 7 超好用的 Spotlight 搜索使用技巧——简介在iOS 6及以往的系统版本中,在主界面第一屏向右滑动会启动spotlight搜索,使用过的朋友一定觉得很实用,没有使用过的也会对其有印象。新版的iOS 7系统取消了主屏向右滑动启动spotlig

iOS 设备进入 DUF 模式的方法 进入duf模式

iOS 设备进入 DUF 模式的方法——简介很多新接触iOS设备的朋友都不大清楚具体怎么进入手机的 DUF 模式,今天就来具体告诉大家iOS 设备进入 DUF 模式的方法——工具/原料iOS设备一台(凡是运行iOS的iPhone、iPad或iPod touch均可)运行

声明:《iOS编程-XCodeDebug忽略SIGPIPE信号 ios sigpipe》为网友耳朵陳分享!如侵犯到您的合法权益请联系我们删除