Hi! > From: Rafael J. Wysocki <rjw@xxxxxxx> > > Introduce freezer-friendly wrappers around wait_event_interruptible() and > wait_event_interruptible_timeout(), originally defined in <linux/wait.h>, to > be used in freezable kernel threads. Make some of the freezable kernel threads > use them. > > This is necessary for the freezer to stop sending signals to kernel threads, > which is implemented in the next patch. > > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> ACK, but... > +/* > + * Freezer-friendly wrappers around wait_event_interruptible() and > + * wait_event_interruptible_timeout(), originally defined in <linux/wait.h> > + */ > + > +#define wait_event_freezable(wq, condition) \ > +({ \ > + int __ret; \ > + do { \ > + __ret = wait_event_interruptible(wq, \ > + (condition) || freezing(current)); \ > + try_to_freeze(); \ > + } while (!(condition)); \ > + __ret; \ > +}) ... > Index: linux-2.6.22-rc6-mm1/drivers/media/dvb/dvb-core/dvb_frontend.c > =================================================================== > --- linux-2.6.22-rc6-mm1.orig/drivers/media/dvb/dvb-core/dvb_frontend.c 2007-07-11 20:48:04.000000000 +0200 > +++ linux-2.6.22-rc6-mm1/drivers/media/dvb/dvb-core/dvb_frontend.c 2007-07-11 20:51:14.000000000 +0200 > @@ -528,7 +528,8 @@ static int dvb_frontend_thread(void *dat > up(&fepriv->sem); /* is locked when we enter the thread... */ > restart: > timeout = wait_event_interruptible_timeout(fepriv->wait_queue, > - dvb_frontend_should_wakeup(fe) || kthread_should_stop(), > + dvb_frontend_should_wakeup(fe) || kthread_should_stop() > + || freezing(current), > fepriv->delay); Should this use the new helper? This change does not seem to match the rest. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm