On 11/01, Tejun Heo wrote: > > diddling with > sigmask in kernel generally isn't a good idea. Agreed. > If there are only a handful sites which need this type of behavior, > wouldn't something like the following work? > > #define wait_event_freezekillable(wq, condition) \ > do { \ > DEFINE_WAIT(__wait); \ > for (;;) { \ > prepare_to_wait(&wq, &__wait, TASK_INTERRUPTIBLE); \ > if (condition || fatal_signal_pending(current)) \ > break; \ > schedule(); \ No, this can't work, afaics. Once the caller recieves a non-fatal signal (gets TIF_SIGPENDING), schedule() won't block in TASK_INTERRUPTIBLE state. IOW, wait_event_freezekillable() becomes a busy-wait loop. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html