回复:Re: How can I wake up one process from the wait queue?

Rock Lee rocklee_104 at sina.com
Thu Oct 30 07:13:49 EDT 2014


Hi, Raghavendra, pranjas:
Thanks for your reply, add_wait_queue_exclusive() is perfect.
----- 原始邮件 -----
发件人:Raghavendra <arrao at cdac.in>
收件人:kernelnewbies at kernelnewbies.org
主题:Re: How can I wake up one process from the wait queue?
日期:2014年10月30日 16点52分


  
  
    On Thursday 30 October 2014 02:02 PM,
      Rock Lee wrote:

    
    
      Hi, everyone
      I am implementing a simple driver to experiment with wait
        queue.Two or more read processes block until a write process
        changes a flag and call wake_up_interruptible().I expect that a
        write process will only wake up one read process.However, once a
        write process calls  wake_up_interruptible() , all the read
          processes are awaken. How can I wake up one process
        from the wait queue?

      
    
    You can use exclusive wait queues, which wakes up only one process
    from the queue.

    

    Although the general idea that is followed is: all the process are
    woken up once the resource is made available. And then the access to
    that resource is guarded by a lock, which in turn allows only one
    process to access the resource. Rest of the processes are pushed
    backed to sleep(or busy wait).

  
-------------------------------------------------------------------------------------------------------------------------------


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20141030/0438f25b/attachment-0001.html 


More information about the Kernelnewbies mailing list