On Wed, 9 Nov 2005, Warner Losh wrote:

 Modified files:
   sys/kern             subr_power.c
 Log:
 Kick off the suspend sequence from the keyboard in a SWI rather than
 in the hardware interrupt context (even if it is likely just an
 ithread).  We don't document that suspend/resume routines are run from
 such a context and some of the things that happen in those routines
 aren't interrupt safe.  Since there's no real need to run from that
 context, this restores assumptions that suspend routines have made.

 This fixes Thierry Herbelot's 'Trying to sleep while sleeping is
 prohibited' problem.

Er, SWIs are interrupts too.  Trying to sleep in a SWI handler should
cause the same message.  This commit uses the general taskqueue SWI
handler.  taskqueue(9) implicitly says that only the taskqueue thread
handler can sleep (it gives malloc(M_WAITOK) as an example of something
that can only be done in thread context).

Bruce
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to