···932932 __ret; \933933})934934935935+#define __wait_event_state(wq, condition, state) \936936+ ___wait_event(wq, condition, state, 0, 0, schedule())937937+938938+/**939939+ * wait_event_state - sleep until a condition gets true940940+ * @wq_head: the waitqueue to wait on941941+ * @condition: a C expression for the event to wait for942942+ * @state: state to sleep in943943+ *944944+ * The process is put to sleep (@state) until the @condition evaluates to true945945+ * or a signal is received (when allowed by @state). The @condition is checked946946+ * each time the waitqueue @wq_head is woken up.947947+ *948948+ * wake_up() has to be called after changing any variable that could949949+ * change the result of the wait condition.950950+ *951951+ * The function will return -ERESTARTSYS if it was interrupted by a signal952952+ * (when allowed by @state) and 0 if @condition evaluated to true.953953+ */954954+#define wait_event_state(wq_head, condition, state) \955955+({ \956956+ int __ret = 0; \957957+ might_sleep(); \958958+ if (!(condition)) \959959+ __ret = __wait_event_state(wq_head, condition, state); \960960+ __ret; \961961+})962962+935963#define __wait_event_killable_timeout(wq_head, condition, timeout) \936964 ___wait_event(wq_head, ___wait_cond_timeout(condition), \937965 TASK_KILLABLE, 0, timeout, \