wait_event_interruptible() didn't work as I expected.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Does anyone out there know how to use
wait_event_interruptible(wq,condition) correctly?

I thought the code below,
          timeout = jiffies + ticks;
          wait_event_interruptible(wq, jiffies > timeout);
could take the place of 
          interruptible_sleep_on_timeout(&wq, ticks);

but it was just blocked at schedule(); in wait_event_interruptible() macro
and didn't move out of it.
why?

as a matter of fact, i have to implement 
             down_interruptible_timeout(&sem, ticks);

and i thought,
         wait_event_interruptible(wq, (jiffies > timeout) ||
!down_trylock(&sem));
would do, but it didn't work, (the process was put to sleep until it was
given a signal.)

maybe It's because I have no big understanding of how schedule() works.
I would be very grateful if you could help me with this.



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux