iOS编程-XCode Debug忽略SIGPIPE信号
来源:互联网 发布:淘宝手编毛衣外套 编辑:程序博客网 时间:2024/05/31 15:19
在使用socket的send函数时,如果此时服务器断开连接,socket将会收到broken pipe的错误。我们可以判断类似的错误来进行重连,但是在这之前系统就会发出SIGPIPE的信号,导致我们的程序crash。所以我们需要先屏蔽sigpipe的信号
struct sigaction sa;
struct
sa.sa_handler = custom_handle;
sigaction(SIGPIPE, &sa, &osa);
这样我们在收到系统的SIGPIPE信号后就不会crash,而是会跑到我们自定义的handle函数里面
当然我们还不能忘记在socket不使用的时候还原系统的信号设置
sigaction(SIGPIPE, &osa, 0);
这时我们的程序虽然不会crash,但是在debug会非常恼人的收到系统触发的debug中断,使得我们的调试非常烦躁,我个人的解决方法是调试时候在入口设置断点,是debug console进入 gdb或是lldb的状态 然后忽略SIGPIPE信号的stop
gdb
handle SIGPIPE nostop
lldb
process handle SIGPIPE -s false
0 0
- [iOS编程-XCode Debug忽略SIGPIPE信号
- [iOS编程-XCode Debug忽略SIGPIPE信号
- iOS编程-XCode Debug忽略SIGPIPE信号
- 忽略SIGPIPE信号的方法
- IOS开发——Xcode调试SIGPIPE信号解决办法
- iOS 忽略SIGPIPE的问题
- gdb中忽略信号处理 SIGPIPE
- Linux下忽略信号SIGPIPE的方法
- C语言之忽略SIGPIPE信号
- socket编程中的SIGPIPE信号
- 【整理】服务器忽略SIGPIPE信号原因及方法
- 在XCode中设置忽略signal SIGPIPE错误
- 网络编程(三) SIGPIPE信号
- socket编程问题-SIGPIPE信号处理
- socket编程问题-SIGPIPE信号处理
- socket编程问题-SIGPIPE信号处理
- 关于网络编程时候SIGPIPE信号
- socket编程中出现SIGPIPE信号
- 利用OpenCV检测图像中的长方形画布或纸张并提取图像内容
- 图片上添加文字
- android 百分比布局 for eclipse
- android的NDK安装及工程实例
- hdu 1698 线段树 区间更新
- iOS编程-XCode Debug忽略SIGPIPE信号
- Android 基础 笔记
- android不创建opencv manager直接使用opencv API
- (一〇六)iPad开发之UIPopoverController的使用
- Chart工具选择
- hdu1166 敌兵布阵 线段树 单点更新
- 替换ListView快速滚动按钮的图标
- 利用随机森林做特征选择
- 参数传递二维数组