Hello,

On Tue, Nov 01, 2011 at 12:49:31PM -0400, Trond Myklebust wrote:
> > #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();                                             \
> >             try_to_freeze();                                        \
> >     }                                                               \
> >     finish_wait(&wq, &__wait);                                      \
> > } while (0)
> 
> Err... Won't this end up busy-waiting if a non-fatal signal is received?

Ah... right, forgot about signal_pending_state() special case in
schedule().  Any better ideas, anyone?

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to