From owner-cvs-all Thu Jan 7 13:23:59 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA09692 for cvs-all-outgoing; Thu, 7 Jan 1999 13:23:59 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA09685; Thu, 7 Jan 1999 13:23:58 -0800 (PST) (envelope-from julian@FreeBSD.org) From: Julian Elischer Received: (from julian@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id NAA18169; Thu, 7 Jan 1999 13:23:52 -0800 (PST) Date: Thu, 7 Jan 1999 13:23:52 -0800 (PST) Message-Id: <199901072123.NAA18169@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/kern init_main.c kern_exit.c kern_fork.c src/sys/sys proc.h signalvar.h unistd.h user.h src/sys/vm vm_glue.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk julian 1999/01/07 13:23:51 PST Modified files: sys/kern init_main.c kern_exit.c kern_fork.c sys/sys proc.h signalvar.h unistd.h user.h sys/vm vm_glue.c Log: Changes to the LINUX_THREADS support to only allocate extra memory for shared signal handling when there is shared signal handling being used. This removes the main objection to making the shared signal handling a standard ability in rfork() and friends and 'unconditionalising' this code. (i.e. the allocation of an extra 328 bytes per process). Signal handling information remains in the U area until such a time as it's reference count would be incremented to > 1. At that point a new struct is malloc'd and maintained in KVM so that it can be shared between the processes (threads) using it. A function to check the reference count and move the struct back to the U area when it drops back to 1 is also supplied. Signal information is therefore now swapable for all processes that are not sharing that information with other processes. THis should addres the concerns raised by Garrett and others. Submitted by: "Richard Seaman, Jr." Revision Changes Path 1.103 +1 -11 src/sys/kern/init_main.c 1.71 +26 -17 src/sys/kern/kern_exit.c 1.54 +28 -8 src/sys/kern/kern_fork.c 1.66 +10 -15 src/sys/sys/proc.h 1.22 +4 -2 src/sys/sys/signalvar.h 1.19 +1 -2 src/sys/sys/unistd.h 1.18 +1 -5 src/sys/sys/user.h 1.80 +10 -1 src/sys/vm/vm_glue.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message