linux内核学习-6信号量(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))

#include // 调度程序头文件,定义了任务结构task_struct、初始任务0 的数据,// 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句。8 #include // 内核头文件。含有一些内核常用函数的原形定义。9 #include // 段操作头文件。定义了有关段寄存器操作的嵌入式汇编函数。1011 #include // 信号头文件。定义信号符号常量,信号结构以及信号操作函数原型。1213 volatile void do_exit(int error_code); // 前面的限定符volatile 要求编译器不要对其进行优化。14// 获取当前任务信号屏蔽位图(屏蔽码)。15 int sys_sgetmask()16 {17 return current->blocked;18 }19// 设置新的信号屏蔽位图。SIGKILL 不能被屏蔽。返回值是原信号屏蔽位图。20 int sys_ssetmask(int newmask)21 {22 int old=current->blocked;2324 current->blocked = newmask & ~(1<<(SIGKILL-1));25 return old;26 }27// 复制sigaction 数据到fs 数据段to 处。。28 static inline void save_old(char * from,char * to)调用相应功能的C函数处理程序。对信号进行识别预处理。调用do_signal()函数。将信号处理程序句柄插入到用户堆栈中。IRET内核系统调用中断处理程序系统调用int 0x80下一语句信号处理程序用户程序更多电子书教程下载请登陆http://down.zzbaike.com/ebook本站提供的电子书教程均为网上搜集,如果该教程涉及或侵害到您的版权请联系我们。第5 章 内核代码 linux/kernel/11329 {30 int i;3132 verify_area(to, sizeof(struct sigaction)); // 验证to 处的内存是否足够。33 for (i=0 ; i< si
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值