vm_glue.c (40286) | vm_glue.c (41931) |
---|---|
1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 45 unchanged lines hidden (view full) --- 54 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 55 * School of Computer Science 56 * Carnegie Mellon University 57 * Pittsburgh PA 15213-3890 58 * 59 * any improvements or extensions that they make and grant Carnegie the 60 * rights to redistribute these changes. 61 * | 1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 45 unchanged lines hidden (view full) --- 54 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 55 * School of Computer Science 56 * Carnegie Mellon University 57 * Pittsburgh PA 15213-3890 58 * 59 * any improvements or extensions that they make and grant Carnegie the 60 * rights to redistribute these changes. 61 * |
62 * $Id: vm_glue.c,v 1.76 1998/09/29 17:33:59 abial Exp $ | 62 * $Id: vm_glue.c,v 1.77 1998/10/13 08:24:43 dg Exp $ |
63 */ 64 65#include "opt_rlimit.h" 66#include "opt_vm.h" 67 68#include <sys/param.h> 69#include <sys/systm.h> 70#include <sys/proc.h> --- 154 unchanged lines hidden (view full) --- 225 shmfork(p1, p2); 226 } 227 228 pmap_new_proc(p2); 229 230 up = p2->p_addr; 231 232 /* | 63 */ 64 65#include "opt_rlimit.h" 66#include "opt_vm.h" 67 68#include <sys/param.h> 69#include <sys/systm.h> 70#include <sys/proc.h> --- 154 unchanged lines hidden (view full) --- 225 shmfork(p1, p2); 226 } 227 228 pmap_new_proc(p2); 229 230 up = p2->p_addr; 231 232 /* |
233#ifndef COMPAT_LINUX_THREADS |
|
233 * p_stats and p_sigacts currently point at fields in the user struct 234 * but not at &u, instead at p_addr. Copy p_sigacts and parts of | 234 * p_stats and p_sigacts currently point at fields in the user struct 235 * but not at &u, instead at p_addr. Copy p_sigacts and parts of |
236#else 237 * p_stats currently points at fields in the user struct 238 * but not at &u, instead at p_addr. Copy parts of 239#endif /* COMPAT_LINUX_THREADS */ |
|
235 * p_stats; zero the rest of p_stats (statistics). 236 */ 237 p2->p_stats = &up->u_stats; | 240 * p_stats; zero the rest of p_stats (statistics). 241 */ 242 p2->p_stats = &up->u_stats; |
243#ifndef COMPAT_LINUX_THREADS |
|
238 p2->p_sigacts = &up->u_sigacts; 239 up->u_sigacts = *p1->p_sigacts; | 244 p2->p_sigacts = &up->u_sigacts; 245 up->u_sigacts = *p1->p_sigacts; |
246#endif /* COMPAT_LINUX_THREADS */ |
|
240 bzero(&up->u_stats.pstat_startzero, 241 (unsigned) ((caddr_t) &up->u_stats.pstat_endzero - 242 (caddr_t) &up->u_stats.pstat_startzero)); 243 bcopy(&p1->p_stats->pstat_startcopy, &up->u_stats.pstat_startcopy, 244 ((caddr_t) &up->u_stats.pstat_endcopy - 245 (caddr_t) &up->u_stats.pstat_startcopy)); 246 247 --- 265 unchanged lines hidden --- | 247 bzero(&up->u_stats.pstat_startzero, 248 (unsigned) ((caddr_t) &up->u_stats.pstat_endzero - 249 (caddr_t) &up->u_stats.pstat_startzero)); 250 bcopy(&p1->p_stats->pstat_startcopy, &up->u_stats.pstat_startcopy, 251 ((caddr_t) &up->u_stats.pstat_endcopy - 252 (caddr_t) &up->u_stats.pstat_startcopy)); 253 254 --- 265 unchanged lines hidden --- |