Date: Mon, 13 Nov 2000 12:44:05 -0800 (PST) From: Andrew Gallatin <gallatin@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/linux linux.h linux_sysvec.c Message-ID: <200011132044.MAA77494@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011132044.MAA77494>
