[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
wait_event_interruptible() didn't work as I expected.
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/