On Fri, Feb 11, 2005 at 01:07:08AM -0600, Al Borchers wrote: > > > On Thursday 10 February 2005 9:39 am, Nishanth Aravamudan wrote: > >> It came up on IRC that the wait_cond*() functions from > >> usb/serial/gadget.c could be useful in other parts of the kernel. Does > >> the following patch make sense towards this? > > Sure, if people want to use these. > > I did not push them because they seemed a bit "heavy weight", > but the construct is useful and general.
I think that is very much the case. As I was setting up patches for the Kernel-Janitors to clean up the wait-queue usage in the kernel, I found I was unable to use wait_event*(), as locks needed to be released/grabbed around the sleep. wait_event_*_lock() fixes this problem, clearly :) > The docs should explain that the purpose is to wait atomically on > a complex condition, and that the usage pattern is to hold the > lock when using the wait_event_* functions or when changing any > variable that might affect the condition and waking up the waiting > processes. I will submit a new patch which documents the general structure of the wait_event_*() class of functions, including what you have written. Thanks, Nish - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/