LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 720|回复: 1

有没有熟悉2.4内核网络/实时信号模块的DX?有事情请教。

[复制链接]
发表于 2006-9-28 15:09:41 | 显示全部楼层 |阅读模式
采用2.4内核的实时信号作为服务器网络模块的异步驱动机制,极少时候会受到SIGIO信号表示信号队列溢出。服务器的客户端连接数不到1000。
请教:信号队列溢出的原因以及内核对于信号队列溢出是如何处理的?
 楼主| 发表于 2006-9-29 19:41:22 | 显示全部楼层
查看了一些资料,目前是这么处理的:
1.通过设置实时信号的处理函数为SIG_IGN把信号队列中的实时信号清空(有一些文档说是设置为SIG_DFL,但是我查看2.4内核源代码发现应该是SIG_IGN,见/kernle/signal.c的do_sigaction函数)。
2.对每个连接强制读取数据,防止没有及时处理客户端数据。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表