论坛风格切换切换到宽版
  • 798阅读
  • 1回复

[问题求助][Debian] 问个关于信号量的简单问题 [复制链接]

上一主题 下一主题
离线17772.
 
发帖
2092
C币
-60655
威望
392
贡献值
1
银元
-3
铜钱
4723
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
在.  linux驱动开发.详解中的 8.9代码清单中 有这样的代码(关于阻塞的):          婚庆
.         down(&dev->s.em);           鲜花
        __.add_wait_queue(&.dev->r_wait,&wait);教育
        
        int. ret=0;外贸
        //如果fifo.为空,就.判断并阻塞等待          婚庆
    .    while (dev->current_.len==0)服务器
        {
         .       if (filp.->f_flags&O_NONBLOCK)    //标志无阻塞           女人
               . {健康
              .         . ret=-EAGAIN;<性病>
     .                   goto out;..
              .  }虚拟主机
                s.et_current_state(TASK_INTERRUPTIBLE);   //.改变进程状态学习
   .             up(&dev->sem.);教育
                schedul.e();//放弃cpu,调.度其他进程健康
                //.如果是信号唤醒--------------彩票
              .  if.(signal_pending(current))--------------彩票
.               {.
           .    .         ret=-ERESTARTSYS;外贸
           .             go.to out2;           建材
.               }              乙肝
        .        dow.n(&dev->sem);--- 印刷
        }
最后一行的down(&dev->sem);是不是错了啊?它既然进入了休眠状态,如果.再次获取信号.量的话 ,岂不死锁了?电影

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线ayumilove.
发帖
2035
C币
-152549
威望
351
贡献值
1
银元
0
铜钱
4548
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
Re:[Debian]
理解上下文需要唤醒
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个