Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jul 2002 04:21:30 -0700 (PDT)
From:      David Xu <bsddiy@yahoo.com>
To:        Tim Robbins <tjr@FreeBSD.ORG>, "current@FreeBSD.ORG" <current@FreeBSD.ORG>
Subject:   Re: suspend bug
Message-ID:  <20020721112130.22708.qmail@web20903.mail.yahoo.com>

next in thread | raw e-mail | index | archive | help
I knew the bug, is this patch works for you?

--- kern_sig.c.old	Sun Jul 21 15:38:00 2002
+++ kern_sig.c	Sun Jul 21 16:31:02 2002
@@ -1657,7 +1657,7 @@
 #endif
 				break;		/* == ignore */
 			}
-#if 0
+
 			/*
 			 * If there is a pending stop signal to process
 			 * with default action, stop here,
@@ -1679,16 +1679,10 @@
 				PROC_UNLOCK(p->p_pptr);
 				mtx_lock_spin(&sched_lock);
 				stop(p);
-				PROC_UNLOCK(p);
-				DROP_GIANT();
-				p->p_stats->p_ru.ru_nivcsw++;
-				mi_switch();
 				mtx_unlock_spin(&sched_lock);
-				PICKUP_GIANT();
-				PROC_LOCK(p);
 				break;
 			} else
-#endif
+
 			     if (prop & SA_IGNORE) {
 				/*
 				 * Except for SIGCONT, shouldn't get here.

----- Original Message ----- 
From: "Tim Robbins" <tjr@FreeBSD.ORG>
To: <current@FreeBSD.ORG>
Sent: Sunday, July 21, 2002 7:09 PM
Subject: Re: suspend bug


> On Sun, Jul 21, 2002 at 08:30:14PM +1000, Bruce Evans wrote:
> 
> > On Sun, 21 Jul 2002, Andrey A. Chernov wrote:
> > 
> > > On Sun, Jul 21, 2002 at 14:54:00 +1000, Bruce Evans wrote:
> > > >
> > > > The bug is actually in su.  It happens with a pre-KSEIII kernel. 
Backing
> > > > out rev.1.54 of su.c (which was apparently supposed to fix a related
bug
> > > > tcsh's fg command) fixes it.
> > >
> > > Feel free to back it out when kernel will be fixed. As workaround it is
> > > more useful at this moment, since "suspend + fg" it fixes is more common
> > > thing, then "stop $$ + fg"
> > 
> > Er, there is no kernel bug here AFAIK.  I don't really understand rev.1.54
> > of su.c.  Is it related to the PAM brokenness that is worked around in
> > rev.1.53?
> 
> Suspending chpass and vipw does not work correctly (like it does in 4.6.1),
> either:
> 
> $ chpass
> #Changing user information for tim.
> *snip*
> *^Z*
> [1] + Stopped              chpass 
> $ fg
> chpass 
> [1] + Stopped              chpass 
> $ fg
> chpass 
> #Changing user information for tim.
> 
> 
> I don't know if this is KSE-related or was introduced in the recent
> modifications to src/lib/libutil/pw_util.c. crontab -e behaves correctly
> when suspended.
> 
> 
> Tim
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message

David Xu


__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020721112130.22708.qmail>