程序进程意外结束跳出,大家帮我看看咋回事
时间:2011-03-08
来源:互联网
代码在附件中。
现象: timer函数初始化完毕后,过了1秒不到, app就会自动结束跳出, 伴随一条"Real-time signal 1”的信息。
对于signal的使用不是很熟,也不清楚问题出在哪里。
/home/app $ ./TmrTest
open SIGRT4_FILEENTRY successfully! //驱动打开
timer init over! // 定时器初始化完毕
Real-time signal 1 // 这个消息应该是kernel发出的,大约在此程序启动后不到1秒发出。
/home/app $ //程序自动终止
我的环境: VirtualBox, Ubuntu10, Kernel 2.6.30, 超级终端 115200-8-n-1
这几天查了一下,Real-time siganl 1貌似是SIGHUP信号
我查了一下资料,按照此信号的介绍,"SIGHUP: 如果终端接口检测到一个连接断开,则将此信号发送给与该终端相关的控制进程(会话首进程). 见图9-11, 此信号被送给session结构中的s_leader字段所指向的进程。仅当终端的CLOCAL标志没有设置时,在上诉条件下才产生此信号。(如果所连接的终端是本地的,则设置该终端的CLOCAL标志。它告诉终端驱动程序忽略所有调制解调器的状态行。)"
我现在的想法是,试着屏蔽掉这个SIGHUP信号。按照上面的描述,需要将CLOCAL标志位置1。请问CLOCAL标志位应该在哪里设置?
Timer Test.rar (10.35 KB)
现象: timer函数初始化完毕后,过了1秒不到, app就会自动结束跳出, 伴随一条"Real-time signal 1”的信息。
对于signal的使用不是很熟,也不清楚问题出在哪里。
/home/app $ ./TmrTest
open SIGRT4_FILEENTRY successfully! //驱动打开
timer init over! // 定时器初始化完毕
Real-time signal 1 // 这个消息应该是kernel发出的,大约在此程序启动后不到1秒发出。
/home/app $ //程序自动终止
我的环境: VirtualBox, Ubuntu10, Kernel 2.6.30, 超级终端 115200-8-n-1
这几天查了一下,Real-time siganl 1貌似是SIGHUP信号
我查了一下资料,按照此信号的介绍,"SIGHUP: 如果终端接口检测到一个连接断开,则将此信号发送给与该终端相关的控制进程(会话首进程). 见图9-11, 此信号被送给session结构中的s_leader字段所指向的进程。仅当终端的CLOCAL标志没有设置时,在上诉条件下才产生此信号。(如果所连接的终端是本地的,则设置该终端的CLOCAL标志。它告诉终端驱动程序忽略所有调制解调器的状态行。)"
我现在的想法是,试着屏蔽掉这个SIGHUP信号。按照上面的描述,需要将CLOCAL标志位置1。请问CLOCAL标志位应该在哪里设置?

作者: fifodct 发布时间: 2011-03-08
本帖最后由 fifodct 于 2011-03-09 16:32 编辑
如果要修改控制台串口ttyS0的参数c_cflag,比如波特率,比如这个CLOCAL flag, 是否应该在busybox的/init/init.c 里改? 这几天好郁闷,没有指路人的话,自己调真难有进展阿。。。
如果要修改控制台串口ttyS0的参数c_cflag,比如波特率,比如这个CLOCAL flag, 是否应该在busybox的/init/init.c 里改? 这几天好郁闷,没有指路人的话,自己调真难有进展阿。。。
作者: fifodct 发布时间: 2011-03-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28