Linux 2.6 Alarm信号中断遇上函数阻塞怎么办
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,本篇文章给大家分享的是有关Linux 2.6 Alarm信号中断遇上函数阻塞怎么办,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Unix
千家信息网最后更新 2025年02月22日Linux 2.6 Alarm信号中断遇上函数阻塞怎么办
本篇文章给大家分享的是有关Linux 2.6 Alarm信号中断遇上函数阻塞怎么办,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Unix网络编程 中提到,可以使用alarm + signal 机制产生信号,从而使程序从阻塞的函数调用中跳出,例子如下:
服务进程使用阻塞的监听套接字进入监听,设置3s的alarm,确保3s内无客户端连接,看服务进程是否能在alarm触发后跳出accept阻塞;
server.c
... void alarm_hander(int signo) { printf("alarm...\n"); } void main(){ ... listen(listenfd,queuelen); //alarm test void *oldfun; oldfun = signal(SIGALRM,alarm_hander); alarm(3); printf("before accept\n"); accept(listenfd,NULL,0); printf("after accept\n"); signal(SIGALRM,oldfun); ....}
运行结果:
root@cloud2:~/slp/NetWrokProgram/server# ./a.out
before accept
alarm...
可以看出,程序在处理alarm信号后(alarm_hander打印的"alarm..."信息)继续进入accept阻塞了,此间客户端向该服务端口发出一个连接请求,紧接着服务端打印了如下信息:
after accept
root@cloud2:~/slp/NetWrokProgram/server#
实践证明,Linux在处理完信号中断后,还会进入原有的阻塞代码中,而不是执行阻塞代码的下一条。
以上就是Linux 2.6 Alarm信号中断遇上函数阻塞怎么办,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
阻塞
信号
服务
函数
怎么办
代码
信息
客户
客户端
更多
知识
程序
篇文章
进程
处理
监听
实用
例子
套接字
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
财务管理软件开发手册
阿里云服务器lnmp
在服务器保留邮件
云平台与数据库
出国代理服务器
电子竞技和软件开发哪个好
网络安全等保测评师是干什么工作
医院病例收集数据库介绍
网络安全周题
网络安全保护与管理
数据库审计技术追踪
国研网数据库月度数据
软件开发企业会计年薪
金川公司网络安全学习
http 下载服务器文件
云股票炒股软件开发
天津环流软件开发
神武4正在获取服务器列表
福州世坤网络技术
万方数据库电脑校园
用友t云服务器
智能云能当我的世界服务器吗
哪种方式登录服务器不安全
深圳数据链软件开发报价表
网络安全攻防大赛
数据库技术起源
数据库中非聚集索引怎么表达
招行软件开发中心
光网络技术期末考试
tcga数据库文件