From owner-freebsd-current@FreeBSD.ORG Thu Jun 12 08:10:19 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 53CFC37B401 for ; Thu, 12 Jun 2003 08:10:19 -0700 (PDT) Received: from mail3.panix.com (mail3.panix.com [166.84.1.74]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B33C43FCB for ; Thu, 12 Jun 2003 08:10:16 -0700 (PDT) (envelope-from evenson@panix.com) Received: from panix3.panix.com (panix3.panix.com [166.84.1.3]) by mail3.panix.com (Postfix) with ESMTP id CC4A19828F; Thu, 12 Jun 2003 11:10:15 -0400 (EDT) Received: (from evenson@localhost) by panix3.panix.com (8.11.6p2/8.8.8/PanixN1.1) id h5CFAF902005; Thu, 12 Jun 2003 11:10:15 -0400 (EDT) Sender: evenson@panix.com To: current@freebsd.org References: <20030612033123.GQ26927@survey.codeburst.net> From: Mark Evenson Date: 12 Jun 2003 11:10:15 -0400 In-Reply-To: <20030612033123.GQ26927@survey.codeburst.net> Message-ID: Lines: 58 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: sh job control X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jun 2003 15:10:19 -0000 Paul Richards writes: > I've installed a current built last night and job control no longer > works in /bin/sh or /usr/local/bin/zsh, but it does with csh. ctr-c and > ctrl-z are just ignored with both the sh style shells. > [Same experience here, with a guess at what is causing this. My system is an IBM ThinkPad X20. Note I am not really a kernel hacker, and the move in CURRENT to threads has really dated my knowledge.] -- Moving from FreeBSD 5.1beta2 to a slightly post-release CURRENT signals have stopped working under bash and sh for ordinary users (but not for root). Creating a user from scratch verified that the problem did not stem from initialization process problems. The following patch to trap.c might have a failure in the logic by replacing the call via PCPU_GET(spinlocks) by the direct reference to the thread->critnest, but this is just a guess. *** /usr/src-5.1-BETA2/sys/i386/i386/trap.c Wed Apr 30 19:59:27 2003 --- /usr/src-QUIP/sys/i386/i386/trap.c Sat Jun 7 09:34:34 2003 *************** *** 222,231 **** type); /* * Page faults need interrupts diasabled until later, ! * and we shouldn't enable interrupts while holding a ! * spin lock. */ ! if (type != T_PAGEFLT && PCPU_GET(spinlocks) == NULL) enable_intr(); } } --- 224,233 ---- type); /* * Page faults need interrupts diasabled until later, ! * and we shouldn't enable interrupts while in a ! * critical section. */ ! if (type != T_PAGEFLT && td->td_critnest == 0) enable_intr(); } } -- Mark Evenson "A screaming comes across the sky. It has happened before, but there is nothing to compare to it now."