From owner-cvs-all Mon Nov 13 12:44:10 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 2893237B479; Mon, 13 Nov 2000 12:44:06 -0800 (PST) Received: (from gallatin@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id MAA77494; Mon, 13 Nov 2000 12:44:06 -0800 (PST) (envelope-from gallatin@FreeBSD.org) Message-Id: <200011132044.MAA77494@freefall.freebsd.org> From: Andrew Gallatin Date: Mon, 13 Nov 2000 12:44:05 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/linux linux.h linux_sysvec.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG gallatin 2000/11/13 12:44:05 PST Modified files: sys/i386/linux linux.h linux_sysvec.c Log: Make linux_sendsig and linux_sigreturn use all 64 bits of a linux_sigset_t by updating the linux_sigframe struct so as to include linux's "extramask" field. This field contains the upper 32-bits of the sigset. extramask sits behind a linux_fpstate struct, which I've defined primarily for padding purposes. While we're here, define LINUX_NSIG in terms of LINUX_NBPW (32) and LINUX_NSIG_WORDS (2). This fixes problems where threaded apps would accumulate a large number of zombies. This was happening because the exit signal resides in the upper 32-bits of the sigset and was never getting unmasked by the manager thread after the first child exited. PR: misc/18530 (may be related, originator not yet contacted) Reviewed by: marcel Revision Changes Path 1.48 +43 -3 src/sys/i386/linux/linux.h 1.66 +15 -4 src/sys/i386/linux/linux_sysvec.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message