summaryrefslogtreecommitdiff
path: root/sys/kern/kern_fork.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r--sys/kern/kern_fork.c50
1 files changed, 2 insertions, 48 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 732712b32fd8d..26cbe47576d6e 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)kern_fork.c 8.6 (Berkeley) 4/8/94
- * $Id: kern_fork.c,v 1.53 1998/12/19 02:55:33 julian Exp $
+ * $Id: kern_fork.c,v 1.50 1997/12/12 04:00:58 dyson Exp $
*/
#include "opt_ktrace.h"
@@ -62,10 +62,6 @@
#include <vm/vm_extern.h>
#include <vm/vm_zone.h>
-#ifdef COMPAT_LINUX_THREADS
-#include <machine/frame.h>
-#include <sys/user.h>
-#endif /* COMPAT_LINUX_THREADS */
#ifdef SMP
static int fast_vfork = 0; /* Doesn't work on SMP yet. */
#else
@@ -275,8 +271,7 @@ retry:
again:
for (; p2 != 0; p2 = p2->p_list.le_next) {
while (p2->p_pid == nextpid ||
- p2->p_pgrp->pg_id == nextpid ||
- p2->p_session->s_sid == nextpid) {
+ p2->p_pgrp->pg_id == nextpid) {
nextpid++;
if (nextpid >= pidchecked)
goto retry;
@@ -286,9 +281,6 @@ again:
if (p2->p_pgrp->pg_id > nextpid &&
pidchecked > p2->p_pgrp->pg_id)
pidchecked = p2->p_pgrp->pg_id;
- if (p2->p_session->s_sid > nextpid &&
- pidchecked > p2->p_session->s_sid)
- pidchecked = p2->p_session->s_sid;
}
if (!doingzomb) {
doingzomb = 1;
@@ -329,44 +321,6 @@ again:
p2->p_cred->p_refcnt = 1;
crhold(p1->p_ucred);
-#ifdef COMPAT_LINUX_THREADS
- if (flags & RFSIGSHARE) {
- p2->p_procsig = p1->p_procsig;
- p2->p_procsig->ps_refcnt++;
- if (p1->p_sigacts == &p1->p_addr->u_sigacts) {
- struct sigacts *newsigacts;
- int s;
-
- if (p2->p_procsig->ps_refcnt != 2)
- printf ("PID:%d Creating shared sigacts with procsig->ps_refcnt %d\n",
- p2->p_pid, p2->p_procsig->ps_refcnt);
- /* Create the shared sigacts structure */
- MALLOC (newsigacts, struct sigacts *, sizeof (struct sigacts),
- M_SUBPROC, M_WAITOK);
- s = splhigh();
- /* Set p_sigacts to the new shared structure. Note that this
- * is updating p1->p_sigacts at the same time, since p_sigacts
- * is just a pointer to the shared p_procsig->ps_sigacts.
- */
- p2->p_sigacts = newsigacts;
- /* Copy in the values from the u area */
- *p2->p_sigacts = p1->p_addr->u_sigacts;
- splx (s);
- }
- } else {
- MALLOC (p2->p_procsig, struct procsig *, sizeof(struct procsig),
- M_SUBPROC, M_WAITOK);
- bcopy(&p1->p_procsig->ps_begincopy, &p2->p_procsig->ps_begincopy,
- (unsigned)&p1->p_procsig->ps_endcopy -
- (unsigned)&p1->p_procsig->ps_begincopy);
- p2->p_procsig->ps_refcnt = 1;
- /* Note that we fill in the values of sigacts in vm_fork */
- p2->p_sigacts = NULL;
- }
- if (flags & RFLINUXTHPN) {
- p2->p_sigparent = SIGUSR1;
- }
-#endif /* COMPAT_LINUX_THREADS */
/* bump references to the text vnode (for procfs) */
p2->p_textvp = p1->p_textvp;
if (p2->p_textvp)