On 02/20, Mandeep Singh Baines wrote: > > I think we need something like this in order to be able to fix > wait_event_freezable and friends. Here is one idea: > > #define __wait_event_freezable(wq, condition, ret) \ > do { \ > DEFINE_WAIT(__wait); \ > \ > for (;;) { \ > prepare_to_wait(&wq, &__wait, TASK_INTERRUPTIBLE); \ > if (condition) \ > break; \ > if (!signal_pending(current)) { \ > freezable_schedule();
... > If you cleaned up the fake signal in __refrigerator() Perhaps. Or we can add recalc_sigpending into wait_freezable(). But note that if (!signal_pending(current)) freezable_schedule(); is not actually right, wait_event_freezable() should be interruptible, but not by freezer. And let me repeat, as for coredump this can only solve the problems in wait_for_dump_handler(). As for other users, I simply do not see any valid user today, so perhaps wait_event_freezable() should die... Or I missed something. I'll try to make the coredumping fixes tomorrow, then we discuss this again. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/