当前位置:  技术问答>linux和unix

Linux 0.12内核中关于__sleep_on()函数的一点疑问,谢谢各位大哥帮忙解答啦。

    来源: 互联网  发布时间:2016-06-01

    本文导语:  static inline void __sleep_on(struct task_struct **p, int state) { … repeat: schedule(); if (*p && *p != current) { (**p).state = 0; current->state = TASK_UNINTERRUPTIBLE; goto repeat; } … } 以上sleep_on()函数让小弟不解的是,如果当前进...

static inline void __sleep_on(struct task_struct **p, int state)
{

repeat: schedule();
if (*p && *p != current) {
(**p).state = 0;
current->state = TASK_UNINTERRUPTIBLE;
goto repeat;
}

}

以上sleep_on()函数让小弟不解的是,如果当前进程被唤醒了,并且等待队列头指针!= 当前进程。
是否说明当前进程不是被等待队列上的前一个进程唤醒的,而有可能是收到了singal。
这时,为什么要去唤醒等待队列头指针指向的进程呢?如果是因为收到信号而被唤醒的,不是有问题吗。

|
sleep_on(struct task_struct **p) 
参数是自己定义的等待队列的头指针,
用处是把自己,也就是当前进程(current)挂到自己定义等待队列上去,并且是这个等待队列的队首。
就是让*p指向你的当前进程,而原来*p所指向的进程由tmp指向。


    
 
 

您可能感兴趣的文章:

  • linux中关于man帮助的问题
  • Linux 中关于异步函数的问题
  • linux中关闭selinux后 进入不了图形界面
  • linux中关于子网掩码,网关的问题
  • Linux中关于NTFS格式的支持!!!
  • linux shell 编程中关于dialog的一个问题。
  • java程序在linux运行,要用Runtime.exec()执行外部命令,可外部命令中关于文件操作的路径都很长,如何使用相对路径.在线等待
  • Linux中关于dentry的弱智问题,求大侠高手来点拨下
  • Linux下,如何解读makefile中关于软件安装的信息?
  • 高手请进,linux9中关于文本终端1(tty1)死机问题?
  • Linux-0.11内核引导中关于bootsect.s的问题
  • linux gcc c中关于字符串结束符的一个小问题 请教大家
  • 请教linux 0.11中关于sys_call的问题
  • linux 中关于 useradd 的用法
  • linux 中关于SVN操作的问题
  • linux内核中关于dns数据结构的定义在哪里??
  • 请教下linux中关于sleep()函数的问题
  • Linux内核中影响tcp三次握手的一些协议配置
  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 现有linux内核中共享内存机制如何移植到linux0.11内核中
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 读懂 Linux 内核代码不难,难的是读懂 Linux 内核代码背后的哲学!
  • linux内核中的likely宏和unlikely宏介绍及用法
  • Linux中内核线程不访问内核态地址空间?
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • linux为什么要升级内核?升级内核有何作用?
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • 《Linux内核情景分析》值得推荐的内核学习参考两用资料
  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • Linux 编译内核之后 没办法选择内核版本
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 在dos下访问内存的MK_FP函数在linux下对应什么函数?int86()函数呢?
  • linux c下利用srand和rand函数生成随机字符串
  • 哪位大侠有unix/linux的函数和函数所在的文件
  • Linux下c基于openssl生成MD5的函数
  • linux中,动态库中的函数如何调用静态库中的函数
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • linux0.11内核有些函数是封装的吗?比如timer_interrupt()函数。
  • Linux下gettimeofday()函数和clock()函数:精确到毫秒级的时间
  • linux下自带了soup函数库和XML处理函数库了吗?
  • linux c 生成随机数srand函数和rand函数介绍及代码示例
  • linux下类的成员函数不可以作为自定义的信号处理函数么?
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • Linux有定时器函数吗?是不是要自己实现?如果有的话是什么函数呢?谢谢
  • linux c malloc函数定义及用法详解
  • linux c入门问题,大家指教。system函数和exec函数的区别。
  • Windows和Linux下C++类成员方法作为线程函数方法介绍
  • linux 2.6.35.4 内核中已没有netif_rx_schedule()函数,那替代函数是啥?
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • wcslen 等函数能用在linux下面吗?文件路径搜索有没有跨平台的函数库?
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • Linux 下析构函数为什么不是虚函数?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3