Mozilla problems on current -- fix

Danny J. Zerkel dzerkel at columbus.rr.com
Mon Mar 1 12:14:20 PST 2004


Looks like John's sys/kern/kern_thread.c 1.171 broke Mozilla (and
threading in general).  He appears to have left out a test that
the sleeping thread is interruptable in one spot:

--- kern_thread.c.orig  Mon Mar  1 15:08:01 2004
+++ kern_thread.c       Mon Mar  1 14:26:30 2004
@@ -646,7 +646,8 @@
                 } else if (TD_ON_SLEEPQ(td2) &&
                            ((td2->td_wchan == &kg->kg_completed) ||
                             (td2->td_wchan == &p->p_siglist &&
-                            (ku->ku_mflags & KMF_WAITSIGEVENT)))) {
+                            (ku->ku_mflags & KMF_WAITSIGEVENT))) &&
+                             (td2->td_flags & TDF_SINTR)) {
                         sleepq_abort(td2);
                 } else {
                         ku->ku_flags |= KUF_DOUPCALL;

This change fixes my Mozilla hangs and other panics on current.

Danny Zerkel
dzerkel at columbus.rr.com


More information about the freebsd-current mailing list