搜索
bottom↓
回复: 0

关于一个RT Thread源码中的问题?

[复制链接]

出0入0汤圆

发表于 2015-7-16 11:33:20 | 显示全部楼层 |阅读模式
rtt线程唤醒函数中有一个从挂起队列中移除操作,   / * remove from suspend list */   rt_list_remove(&(thread->tlist));,可是源码中并未找到挂起队列的定义和相关插入挂起队列操作,这里的移除操作有什么意义?
rt_err_t rt_thread_resume(rt_thread_t thread)  
{  
    register rt_base_t temp;  
  
    /* thread check */  
    RT_ASSERT(thread != RT_NULL);  
  
    RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume:  %s\n", thread->name));  
  
    if (thread->stat != RT_THREAD_SUSPEND)//只对处于挂起的线程进行还原操作  
    {  
        RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume: thread disorder, %d\n",  
                                       thread->stat));  
  
        return -RT_ERROR;  
    }  
  
    /* disable interrupt */  
    temp = rt_hw_interrupt_disable();//关中断  
  
    /* remove from suspend list */  
    rt_list_remove(&(thread->tlist));//从挂起队列中移除  
  
   
   /* remove thread timer */  
    rt_list_remove(&(thread->thread_timer.list));//因线程即将运行,所以需要移除定时器,无需再定时  
  
    /* change timer state */  
    thread->thread_timer.parent.flag &= ~RT_TIMER_FLAG_ACTIVATED;//将内核对象的标志设置为定时器非激活标志  
  
    /* enable interrupt */  
    rt_hw_interrupt_enable(temp);//开中断  
  
    /* insert to schedule ready list */  
    rt_schedule_insert_thread(thread);//将线程加入调度器  
  
    return RT_EOK;  
}  
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 19:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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