diff options
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/compat/linux/linux_misc.c | 36 | ||||
| -rw-r--r-- | sys/i386/linux/linux_misc.c | 36 | ||||
| -rw-r--r-- | sys/kern/imgact_elf.c | 6 | ||||
| -rw-r--r-- | sys/kern/init_main.c | 6 | ||||
| -rw-r--r-- | sys/kern/kern_exit.c | 24 | ||||
| -rw-r--r-- | sys/kern/kern_fork.c | 8 | ||||
| -rw-r--r-- | sys/kern/kern_proc.c | 4 | ||||
| -rw-r--r-- | sys/kern/kern_sig.c | 77 | ||||
| -rw-r--r-- | sys/sys/proc.h | 20 | ||||
| -rw-r--r-- | sys/sys/signalvar.h | 11 | ||||
| -rw-r--r-- | sys/sys/user.h | 9 | ||||
| -rw-r--r-- | sys/vm/vm_glue.c | 14 |
12 files changed, 22 insertions, 229 deletions
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 02f9785fa8a3..da1293cb86a5 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_misc.c,v 1.50 1998/12/30 21:01:33 sos Exp $ + * $Id: linux_misc.c,v 1.51 1999/01/06 23:05:38 julian Exp $ */ #include <sys/param.h> @@ -41,9 +41,7 @@ #include <sys/resourcevar.h> #include <sys/stat.h> #include <sys/sysctl.h> -#ifdef COMPAT_LINUX_THREADS #include <sys/unistd.h> -#endif /* COMPAT_LINUX_THREADS */ #include <sys/vnode.h> #include <sys/wait.h> #include <sys/time.h> @@ -563,15 +561,6 @@ linux_fork(struct proc *p, struct linux_fork_args *args) return 0; } -#ifndef COMPAT_LINUX_THREADS -int -linux_clone(struct proc *p, struct linux_clone_args *args) -{ - printf("linux_clone(%d): Not enabled\n", p->p_pid); - return (EOPNOTSUPP); -} - -#else #define CLONE_VM 0x100 #define CLONE_FS 0x200 #define CLONE_FILES 0x400 @@ -635,7 +624,6 @@ linux_clone(struct proc *p, struct linux_clone_args *args) return 0; } -#endif /* COMPAT_LINUX_THREADS */ /* XXX move */ struct linux_mmap_argv { linux_caddr_t addr; @@ -646,11 +634,8 @@ struct linux_mmap_argv { int pos; }; -#ifdef COMPAT_LINUX_THREADS #define STACK_SIZE (2 * 1024 * 1024) #define GUARD_SIZE (4 * PAGE_SIZE) - -#endif /* COMPAT_LINUX_THREADS */ int linux_mmap(struct proc *p, struct linux_mmap_args *args) { @@ -683,10 +668,6 @@ linux_mmap(struct proc *p, struct linux_mmap_args *args) bsd_args.flags |= MAP_FIXED; if (linux_args.flags & LINUX_MAP_ANON) bsd_args.flags |= MAP_ANON; -#ifndef COMPAT_LINUX_THREADS - bsd_args.addr = linux_args.addr; - bsd_args.len = linux_args.len; -#else #ifndef VM_STACK /* Linux Threads will map into the proc stack space, unless @@ -745,7 +726,7 @@ linux_mmap(struct proc *p, struct linux_mmap_args *args) bsd_args.addr = linux_args.addr; bsd_args.len = linux_args.len; } -#endif /* COMPAT_LINUX_THREADS */ + bsd_args.prot = linux_args.prot | PROT_READ; /* always required */ bsd_args.fd = linux_args.fd; bsd_args.pos = linux_args.pos; @@ -972,9 +953,6 @@ linux_waitpid(struct proc *p, struct linux_waitpid_args *args) #endif tmp.pid = args->pid; tmp.status = args->status; -#ifndef COMPAT_LINUX_THREADS - tmp.options = args->options; -#else /* This filters out the linux option _WCLONE. I don't * think we need it, but I could be wrong. If we need * it, we need to fix wait4, since it will give us an @@ -982,15 +960,11 @@ linux_waitpid(struct proc *p, struct linux_waitpid_args *args) * of course, it won't do anything with it. */ tmp.options = (args->options & (WNOHANG | WUNTRACED)); -#endif /* COMPAT_LINUX_THREADS */ tmp.rusage = NULL; if (error = wait4(p, &tmp)) -#ifndef COMPAT_LINUX_THREADS return error; -#else - return error; -#endif /* COMPAT_LINUX_THREADS */ + if (args->status) { if (error = copyin(args->status, &tmpstat, sizeof(int))) return error; @@ -1023,9 +997,6 @@ linux_wait4(struct proc *p, struct linux_wait4_args *args) #endif tmp.pid = args->pid; tmp.status = args->status; -#ifndef COMPAT_LINUX_THREADS - tmp.options = args->options; -#else /* This filters out the linux option _WCLONE. I don't * think we need it, but I could be wrong. If we need * it, we need to fix wait4, since it will give us an @@ -1033,7 +1004,6 @@ linux_wait4(struct proc *p, struct linux_wait4_args *args) * of course, it won't do anything with it. */ tmp.options = (args->options & (WNOHANG | WUNTRACED)); -#endif /* COMPAT_LINUX_THREADS */ tmp.rusage = args->rusage; if (error = wait4(p, &tmp)) diff --git a/sys/i386/linux/linux_misc.c b/sys/i386/linux/linux_misc.c index 02f9785fa8a3..da1293cb86a5 100644 --- a/sys/i386/linux/linux_misc.c +++ b/sys/i386/linux/linux_misc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_misc.c,v 1.50 1998/12/30 21:01:33 sos Exp $ + * $Id: linux_misc.c,v 1.51 1999/01/06 23:05:38 julian Exp $ */ #include <sys/param.h> @@ -41,9 +41,7 @@ #include <sys/resourcevar.h> #include <sys/stat.h> #include <sys/sysctl.h> -#ifdef COMPAT_LINUX_THREADS #include <sys/unistd.h> -#endif /* COMPAT_LINUX_THREADS */ #include <sys/vnode.h> #include <sys/wait.h> #include <sys/time.h> @@ -563,15 +561,6 @@ linux_fork(struct proc *p, struct linux_fork_args *args) return 0; } -#ifndef COMPAT_LINUX_THREADS -int -linux_clone(struct proc *p, struct linux_clone_args *args) -{ - printf("linux_clone(%d): Not enabled\n", p->p_pid); - return (EOPNOTSUPP); -} - -#else #define CLONE_VM 0x100 #define CLONE_FS 0x200 #define CLONE_FILES 0x400 @@ -635,7 +624,6 @@ linux_clone(struct proc *p, struct linux_clone_args *args) return 0; } -#endif /* COMPAT_LINUX_THREADS */ /* XXX move */ struct linux_mmap_argv { linux_caddr_t addr; @@ -646,11 +634,8 @@ struct linux_mmap_argv { int pos; }; -#ifdef COMPAT_LINUX_THREADS #define STACK_SIZE (2 * 1024 * 1024) #define GUARD_SIZE (4 * PAGE_SIZE) - -#endif /* COMPAT_LINUX_THREADS */ int linux_mmap(struct proc *p, struct linux_mmap_args *args) { @@ -683,10 +668,6 @@ linux_mmap(struct proc *p, struct linux_mmap_args *args) bsd_args.flags |= MAP_FIXED; if (linux_args.flags & LINUX_MAP_ANON) bsd_args.flags |= MAP_ANON; -#ifndef COMPAT_LINUX_THREADS - bsd_args.addr = linux_args.addr; - bsd_args.len = linux_args.len; -#else #ifndef VM_STACK /* Linux Threads will map into the proc stack space, unless @@ -745,7 +726,7 @@ linux_mmap(struct proc *p, struct linux_mmap_args *args) bsd_args.addr = linux_args.addr; bsd_args.len = linux_args.len; } -#endif /* COMPAT_LINUX_THREADS */ + bsd_args.prot = linux_args.prot | PROT_READ; /* always required */ bsd_args.fd = linux_args.fd; bsd_args.pos = linux_args.pos; @@ -972,9 +953,6 @@ linux_waitpid(struct proc *p, struct linux_waitpid_args *args) #endif tmp.pid = args->pid; tmp.status = args->status; -#ifndef COMPAT_LINUX_THREADS - tmp.options = args->options; -#else /* This filters out the linux option _WCLONE. I don't * think we need it, but I could be wrong. If we need * it, we need to fix wait4, since it will give us an @@ -982,15 +960,11 @@ linux_waitpid(struct proc *p, struct linux_waitpid_args *args) * of course, it won't do anything with it. */ tmp.options = (args->options & (WNOHANG | WUNTRACED)); -#endif /* COMPAT_LINUX_THREADS */ tmp.rusage = NULL; if (error = wait4(p, &tmp)) -#ifndef COMPAT_LINUX_THREADS return error; -#else - return error; -#endif /* COMPAT_LINUX_THREADS */ + if (args->status) { if (error = copyin(args->status, &tmpstat, sizeof(int))) return error; @@ -1023,9 +997,6 @@ linux_wait4(struct proc *p, struct linux_wait4_args *args) #endif tmp.pid = args->pid; tmp.status = args->status; -#ifndef COMPAT_LINUX_THREADS - tmp.options = args->options; -#else /* This filters out the linux option _WCLONE. I don't * think we need it, but I could be wrong. If we need * it, we need to fix wait4, since it will give us an @@ -1033,7 +1004,6 @@ linux_wait4(struct proc *p, struct linux_wait4_args *args) * of course, it won't do anything with it. */ tmp.options = (args->options & (WNOHANG | WUNTRACED)); -#endif /* COMPAT_LINUX_THREADS */ tmp.rusage = args->rusage; if (error = wait4(p, &tmp)) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index a0a228466784..56f9d621d62b 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: imgact_elf.c,v 1.43 1998/12/04 22:54:51 archie Exp $ + * $Id: imgact_elf.c,v 1.44 1998/12/19 02:55:33 julian Exp $ */ #include "opt_rlimit.h" @@ -854,11 +854,7 @@ elf_corehdr(p, vp, cred, numsegs, hdr, hdrsize) status.pr_gregsetsz = sizeof(gregset_t); status.pr_fpregsetsz = sizeof(fpregset_t); status.pr_osreldate = osreldate; -#ifndef COMPAT_LINUX_THREADS - status.pr_cursig = p->p_sigacts->ps_sig; -#else status.pr_cursig = p->p_sig; -#endif /* COMPAT_LINUX_THREADS */ status.pr_pid = p->p_pid; fill_regs(p, &status.pr_reg); diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 246684f88362..ed621ebad2af 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $Id: init_main.c,v 1.102 1998/12/30 10:38:58 dfr Exp $ + * $Id: init_main.c,v 1.103 1999/01/07 21:23:39 julian Exp $ */ #include "opt_devfs.h" @@ -83,9 +83,7 @@ static struct session session0; static struct pgrp pgrp0; struct proc proc0; static struct pcred cred0; -#ifdef COMPAT_LINUX_THREADS static struct procsig procsig0; -#endif /* COMPAT_LINUX_THREADS */ static struct filedesc0 filedesc0; static struct plimit limit0; static struct vmspace vmspace0; @@ -418,12 +416,10 @@ proc0_init(dummy) p->p_ucred = crget(); p->p_ucred->cr_ngroups = 1; /* group 0 */ -#ifdef COMPAT_LINUX_THREADS /* Create procsig. */ p->p_procsig = &procsig0; p->p_procsig->ps_refcnt = 2; -#endif /* COMPAT_LINUX_THREADS */ /* Create the file descriptor table. */ fdp = &filedesc0; p->p_fd = &fdp->fd_fd; diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 7be01af67fac..22965f510248 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_exit.c 8.7 (Berkeley) 2/12/94 - * $Id: kern_exit.c,v 1.70 1998/12/19 02:55:33 julian Exp $ + * $Id: kern_exit.c,v 1.71 1999/01/07 21:23:41 julian Exp $ */ #include "opt_compat.h" @@ -73,9 +73,7 @@ #include <vm/pmap.h> #include <vm/vm_map.h> #include <vm/vm_zone.h> -#ifdef COMPAT_LINUX_THREADS #include <sys/user.h> -#endif static MALLOC_DEFINE(M_ZOMBIE, "zombie", "zombie proc status"); @@ -184,9 +182,6 @@ exit1(p, rv) */ p->p_flag &= ~(P_TRACED | P_PPWAIT); p->p_flag |= P_WEXIT; -#ifndef COMPAT_LINUX_THREADS - p->p_sigignore = ~0; -#endif /* COMPAT_LINUX_THREADS */ p->p_siglist = 0; if (timevalisset(&p->p_realtimer.it_value)) untimeout(realitexpire, (caddr_t)p, p->p_ithandle); @@ -287,9 +282,7 @@ exit1(p, rv) LIST_REMOVE(q, p_sibling); LIST_INSERT_HEAD(&initproc->p_children, q, p_sibling); q->p_pptr = initproc; -#ifdef COMPAT_LINUX_THREADS q->p_sigparent = 0; -#endif /* COMPAT_LINUX_THREADS */ /* * Traced processes are killed * since their existence means someone is screwing up. @@ -314,11 +307,7 @@ exit1(p, rv) * flag set, notify process 1 instead (and hope it will handle * this situation). */ -#ifndef COMPAT_LINUX_THREADS - if (p->p_pptr->p_flag & P_NOCLDWAIT) { -#else if (p->p_pptr->p_procsig->ps_flag & P_NOCLDWAIT) { -#endif /* COMPAT_LINUX_THREADS */ struct proc *pp = p->p_pptr; proc_reparent(p, initproc); /* @@ -330,15 +319,12 @@ exit1(p, rv) wakeup((caddr_t)pp); } -#ifndef COMPAT_LINUX_THREADS - psignal(p->p_pptr, SIGCHLD); -#else if (p->p_sigparent && p->p_pptr != initproc) { psignal(p->p_pptr, p->p_sigparent); } else { psignal(p->p_pptr, SIGCHLD); } -#endif /* COMPAT_LINUX_THREADS */ + wakeup((caddr_t)p->p_pptr); #if defined(tahoe) /* move this to cpu_exit */ @@ -508,14 +494,13 @@ loop: LIST_REMOVE(p, p_list); /* off zombproc */ LIST_REMOVE(p, p_sibling); -#ifdef COMPAT_LINUX_THREADS if (--p->p_procsig->ps_refcnt == 0) { if (p->p_sigacts != &p->p_addr->u_sigacts) FREE(p->p_sigacts, M_SUBPROC); FREE(p->p_procsig, M_SUBPROC); p->p_procsig = NULL; } -#endif /* COMPAT_LINUX_THREADS */ + /* * Give machine-dependent layer a chance * to free anything that cpu_exit couldn't @@ -627,7 +612,6 @@ rm_at_exit(function) return (count); } -#ifdef COMPAT_LINUX_THREADS void check_sigacts (void) { struct proc *p = curproc; @@ -644,4 +628,4 @@ void check_sigacts (void) FREE(pss, M_SUBPROC); } } -#endif + diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 732712b32fd8..1ee86ae241e3 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.54 1999/01/07 21:23:42 julian Exp $ */ #include "opt_ktrace.h" @@ -62,10 +62,9 @@ #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 @@ -329,7 +328,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++; @@ -366,7 +364,7 @@ again: 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) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 0c6feac328a0..f44fb1f3ceee 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_proc.c 8.7 (Berkeley) 2/14/95 - * $Id: kern_proc.c,v 1.42 1999/01/10 01:58:24 eivind Exp $ + * $Id: kern_proc.c,v 1.43 1999/01/13 03:11:42 julian Exp $ */ #include <sys/param.h> @@ -415,11 +415,9 @@ fill_eproc(p, ep) if (p->p_ucred) ep->e_ucred = *p->p_ucred; } -#ifdef COMPAT_LINUX_THREADS if (p->p_procsig){ ep->e_procsig = *p->p_procsig; } -#endif if (p->p_stat != SIDL && p->p_stat != SZOMB && p->p_vmspace != NULL) { register struct vmspace *vm = p->p_vmspace; diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index bf89d8a745de..5da472523c66 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_sig.c 8.7 (Berkeley) 4/18/94 - * $Id: kern_sig.c,v 1.52 1999/01/08 17:31:10 eivind Exp $ + * $Id: kern_sig.c,v 1.53 1999/01/10 01:58:24 eivind Exp $ */ #include "opt_compat.h" @@ -135,17 +135,9 @@ sigaction(p, uap) sa->sa_flags |= SA_RESETHAND; if ((ps->ps_signodefer & bit) != 0) sa->sa_flags |= SA_NODEFER; -#ifndef COMPAT_LINUX_THREADS - if (signum == SIGCHLD && p->p_flag & P_NOCLDSTOP) -#else if (signum == SIGCHLD && p->p_procsig->ps_flag & P_NOCLDSTOP) -#endif /* COMPAT_LINUX_THREADS */ sa->sa_flags |= SA_NOCLDSTOP; -#ifndef COMPAT_LINUX_THREADS - if (signum == SIGCHLD && p->p_flag & P_NOCLDWAIT) -#else if (signum == SIGCHLD && p->p_procsig->ps_flag & P_NOCLDWAIT) -#endif /* COMPAT_LINUX_THREADS */ sa->sa_flags |= SA_NOCLDWAIT; if ((error = copyout((caddr_t)sa, (caddr_t)uap->osa, sizeof (vec)))) @@ -203,15 +195,9 @@ setsigvec(p, signum, sa) #endif if (signum == SIGCHLD) { if (sa->sa_flags & SA_NOCLDSTOP) -#ifndef COMPAT_LINUX_THREADS - p->p_flag |= P_NOCLDSTOP; - else - p->p_flag &= ~P_NOCLDSTOP; -#else p->p_procsig->ps_flag |= P_NOCLDSTOP; else p->p_procsig->ps_flag &= ~P_NOCLDSTOP; -#endif /* COMPAT_LINUX_THREADS */ if (sa->sa_flags & SA_NOCLDWAIT) { /* * Paranoia: since SA_NOCLDWAIT is implemented by @@ -220,21 +206,11 @@ setsigvec(p, signum, sa) * forbidden to set SA_NOCLDWAIT. */ if (p->p_pid == 1) -#ifndef COMPAT_LINUX_THREADS - p->p_flag &= ~P_NOCLDWAIT; - else - p->p_flag |= P_NOCLDWAIT; -#else p->p_procsig->ps_flag &= ~P_NOCLDWAIT; else p->p_procsig->ps_flag |= P_NOCLDWAIT; -#endif /* COMPAT_LINUX_THREADS */ } else -#ifndef COMPAT_LINUX_THREADS - p->p_flag &= ~P_NOCLDWAIT; -#else p->p_procsig->ps_flag &= ~P_NOCLDWAIT; -#endif /* COMPAT_LINUX_THREADS */ } /* * Set bit in p_sigignore for signals that are set to SIG_IGN, @@ -409,11 +385,7 @@ osigvec(p, uap) if ((ps->ps_signodefer & bit) != 0) sv->sv_flags |= SV_NODEFER; #ifndef COMPAT_SUNOS -#ifndef COMPAT_LINUX_THREADS - if (signum == SIGCHLD && p->p_flag & P_NOCLDSTOP) -#else if (signum == SIGCHLD && p->p_procsig->ps_flag & P_NOCLDSTOP) -#endif /* COMPAT_LINUX_THREADS */ sv->sv_flags |= SV_NOCLDSTOP; #endif if ((error = copyout((caddr_t)sv, (caddr_t)uap->osv, @@ -498,12 +470,7 @@ sigsuspend(p, uap) * save it here and mark the sigacts structure * to indicate this. */ -#ifndef COMPAT_LINUX_THREADS - ps->ps_oldmask = p->p_sigmask; - ps->ps_flags |= SAS_OLDMASK; -#else p->p_oldsigmask = p->p_sigmask; -#endif /* COMPAT_LINUX_THREADS */ p->p_sigmask = uap->mask &~ sigcantmask; while (tsleep((caddr_t) ps, PPAUSE|PCATCH, "pause", 0) == 0) /* void */; @@ -762,13 +729,8 @@ trapsignal(p, signum, code) ps->ps_sigact[signum] = SIG_DFL; } } else { -#ifndef COMPAT_LINUX_THREADS - ps->ps_code = code; /* XXX for core dump/debugger */ - ps->ps_sig = signum; /* XXX to verify code */ -#else p->p_code = code; /* XXX for core dump/debugger */ p->p_sig = signum; /* XXX to verify code */ -#endif /* COMPAT_LINUX_THREADS */ psignal(p, signum); } } @@ -817,11 +779,7 @@ psignal(p, signum) * and if it is set to SIG_IGN, * action will be SIG_DFL here.) */ -#ifndef COMPAT_LINUX_THREADS - if (p->p_sigignore & mask) -#else if ((p->p_sigignore & mask) || (p->p_flag & P_WEXIT)) -#endif /* COMPAT_LINUX_THREADS */ return; if (p->p_sigmask & mask) action = SIG_HOLD; @@ -903,11 +861,7 @@ psignal(p, signum) goto out; p->p_siglist &= ~mask; p->p_xstat = signum; -#ifndef COMPAT_LINUX_THREADS - if ((p->p_pptr->p_flag & P_NOCLDSTOP) == 0) -#else if ((p->p_pptr->p_procsig->ps_flag & P_NOCLDSTOP) == 0) -#endif /* COMPAT_LINUX_THREADS */ psignal(p->p_pptr, SIGCHLD); stop(p); goto out; @@ -1114,11 +1068,7 @@ issignal(p) break; /* == ignore */ p->p_xstat = signum; stop(p); -#ifndef COMPAT_LINUX_THREADS - if ((p->p_pptr->p_flag & P_NOCLDSTOP) == 0) -#else if ((p->p_pptr->p_procsig->ps_flag & P_NOCLDSTOP) == 0) -#endif /* COMPAT_LINUX_THREADS */ psignal(p->p_pptr, SIGCHLD); mi_switch(); break; @@ -1191,13 +1141,8 @@ postsig(signum) #ifdef KTRACE if (KTRPOINT(p, KTR_PSIG)) ktrpsig(p->p_tracep, -#ifndef COMPAT_LINUX_THREADS - signum, action, ps->ps_flags & SAS_OLDMASK ? - ps->ps_oldmask : p->p_sigmask, 0); -#else signum, action, p->p_oldsigmask ? p->p_oldsigmask : p->p_sigmask, 0); -#endif /* COMPAT_LINUX_THREADS */ #endif STOPEVENT(p, S_SIG, signum); @@ -1224,15 +1169,9 @@ postsig(signum) * restored after the signal processing is completed. */ (void) splhigh(); -#ifndef COMPAT_LINUX_THREADS - if (ps->ps_flags & SAS_OLDMASK) { - returnmask = ps->ps_oldmask; - ps->ps_flags &= ~SAS_OLDMASK; -#else if (p->p_oldsigmask) { returnmask = p->p_oldsigmask; p->p_oldsigmask = 0; -#endif /* COMPAT_LINUX_THREADS */ } else returnmask = p->p_sigmask; p->p_sigmask |= ps->ps_catchmask[signum] | @@ -1248,22 +1187,12 @@ postsig(signum) } (void) spl0(); p->p_stats->p_ru.ru_nsignals++; -#ifndef COMPAT_LINUX_THREADS - if (ps->ps_sig != signum) { -#else if (p->p_sig != signum) { -#endif /* COMPAT_LINUX_THREADS */ code = 0; } else { -#ifndef COMPAT_LINUX_THREADS - code = ps->ps_code; - ps->ps_code = 0; - ps->ps_sig = 0; -#else code = p->p_code; p->p_code = 0; p->p_sig = 0; -#endif /* COMPAT_LINUX_THREADS */ } (*p->p_sysent->sv_sendsig)(action, signum, returnmask, code); } @@ -1298,11 +1227,7 @@ sigexit(p, signum) p->p_acflag |= AXSIG; if (sigprop[signum] & SA_CORE) { -#ifndef COMPAT_LINUX_THREADS - p->p_sigacts->ps_sig = signum; -#else p->p_sig = signum; -#endif /* COMPAT_LINUX_THREADS */ /* * Log signals which would cause core dumps * (Log as LOG_INFO to appease those who don't want diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 1b7d5ad15710..5351016afcb2 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $Id: proc.h,v 1.65 1998/12/31 13:23:16 bde Exp $ + * $Id: proc.h,v 1.66 1999/01/07 21:23:45 julian Exp $ */ #ifndef _SYS_PROC_H_ @@ -47,9 +47,7 @@ #include <sys/rtprio.h> /* For struct rtprio. */ #include <sys/select.h> /* For struct selinfo. */ #include <sys/signal.h> -#ifdef COMPAT_LINUX_THREADS #include <sys/signalvar.h> -#endif /* COMPAT_LINUX_THREADS */ #ifndef KERNEL #include <sys/time.h> /* For structs itimerval, timeval. */ #endif @@ -81,7 +79,6 @@ struct pgrp { int pg_jobc; /* # procs qualifying pgrp for job control */ }; -#ifdef COMPAT_LINUX_THREADS struct procsig { #define ps_begincopy ps_sigignore sigset_t ps_sigignore; /* Signals being ignored. */ @@ -91,7 +88,6 @@ struct procsig { #define ps_endcopy ps_refcnt int ps_refcnt; }; -#endif /* COMPAT_LINUX_THREADS */ /* * pasleep structure, used by asleep() syscall to hold requested priority @@ -123,14 +119,10 @@ struct proc { struct pstats *p_stats; /* Accounting/statistics (PROC ONLY). */ struct plimit *p_limit; /* Process limits. */ struct vm_object *p_upages_obj;/* Upages object */ -#ifndef COMPAT_LINUX_THREADS - struct sigacts *p_sigacts; /* Signal actions, state (PROC ONLY). */ -#else struct procsig *p_procsig; #define p_sigacts p_procsig->ps_sigacts #define p_sigignore p_procsig->ps_sigignore #define p_sigcatch p_procsig->ps_sigcatch -#endif #define p_ucred p_cred->pc_ucred #define p_rlimit p_limit->pl_rlimit @@ -195,12 +187,10 @@ struct proc { char p_pad3[2]; /* padding for alignment */ register_t p_retval[2]; /* syscall aux returns */ struct sigiolst p_sigiolst; /* list of sigio sources */ -#ifdef COMPAT_LINUX_THREADS int p_sigparent; /* signal to parent on exit */ sigset_t p_oldsigmask; /* saved mask from before sigpause */ int p_sig; /* for core dump/debugger XXX */ u_long p_code; /* for core dump/debugger XXX */ -#endif /* COMPAT_LINUX_THREADS */ /* End area that is zeroed on creation. */ #define p_endzero p_startcopy @@ -209,10 +199,6 @@ struct proc { #define p_startcopy p_sigmask sigset_t p_sigmask; /* Current signal mask. */ -#ifndef COMPAT_LINUX_THREADS - sigset_t p_sigignore; /* Signals being ignored. */ - sigset_t p_sigcatch; /* Signals being caught by user. */ -#endif /* COMPAT_LINUX_THREADS */ u_char p_priority; /* Process priority. */ u_char p_usrpri; /* User-priority based on p_cpu and p_nice. */ char p_nice; /* Process "nice" value. */ @@ -388,11 +374,7 @@ void wakeup_one __P((void *chan)); void cpu_exit __P((struct proc *)) __dead2; void exit1 __P((struct proc *, int)) __dead2; void cpu_fork __P((struct proc *, struct proc *)); -#ifndef COMPAT_LINUX_THREADS -int fork1 __P((struct proc *, int)); -#else int fork1 __P((struct proc *, int)); -#endif /* COMPAT_LINUX_THREADS */ int trace_req __P((struct proc *)); void cpu_wait __P((struct proc *)); int cpu_coredump __P((struct proc *, struct vnode *, struct ucred *)); diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index 658c6cb29c78..a9f9c4052a96 100644 --- a/sys/sys/signalvar.h +++ b/sys/sys/signalvar.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signalvar.h 8.6 (Berkeley) 2/19/95 - * $Id: signalvar.h,v 1.21 1998/12/19 02:55:34 julian Exp $ + * $Id: signalvar.h,v 1.22 1999/01/07 21:23:46 julian Exp $ */ #ifndef _SYS_SIGNALVAR_H_ /* tmp for user.h */ @@ -55,15 +55,8 @@ struct sigacts { sigset_t ps_sigintr; /* signals that interrupt syscalls */ sigset_t ps_sigreset; /* signals that reset when caught */ sigset_t ps_signodefer; /* signals not masked while handled */ -#ifndef COMPAT_LINUX_THREADS - sigset_t ps_oldmask; /* saved mask from before sigpause */ -#endif /* COMPAT_LINUX_THREADS */ int ps_flags; /* signal flags, below */ struct sigaltstack ps_sigstk; /* sp & on stack state variable */ -#ifndef COMPAT_LINUX_THREADS - int ps_sig; /* for core dump/debugger XXX */ - u_long ps_code; /* for core dump/debugger XXX */ -#endif /* COMPAT_LINUX_THREADS */ sigset_t ps_usertramp; /* SunOS compat; libc sigtramp XXX */ }; @@ -175,9 +168,7 @@ void psignal __P((struct proc *p, int sig)); void sigexit __P((struct proc *p, int signum)); void siginit __P((struct proc *p)); void trapsignal __P((struct proc *p, int sig, u_long code)); -#ifdef COMPAT_LINUX_THREADS void check_sigacts (void); -#endif /* * Machine-dependent functions: */ diff --git a/sys/sys/user.h b/sys/sys/user.h index 2f8e393f0934..72298546d6e8 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)user.h 8.2 (Berkeley) 9/23/93 - * $Id: user.h,v 1.18 1999/01/07 21:23:47 julian Exp $ + * $Id: user.h,v 1.19 1999/01/13 03:11:42 julian Exp $ */ #ifndef _SYS_USER_H_ @@ -69,9 +69,7 @@ struct kinfo_proc { struct session *e_sess; /* session pointer */ struct pcred e_pcred; /* process credentials */ struct ucred e_ucred; /* current credentials */ -#ifdef COMPAT_LINUX_THREADS struct procsig e_procsig; /* shared signal structure */ -#endif struct vmspace e_vm; /* address space */ pid_t e_ppid; /* parent process id */ pid_t e_pgid; /* process group id */ @@ -128,13 +126,8 @@ struct user { #define U_tsize u_kproc.kp_eproc.e_vm.vm_tsize #define U_dsize u_kproc.kp_eproc.e_vm.vm_dsize #define U_ssize u_kproc.kp_eproc.e_vm.vm_ssize -#ifndef COMPAT_LINUX_THREADS -#define U_sig u_sigacts.ps_sig -#define U_code u_sigacts.ps_code -#else #define U_sig u_kproc.kp_proc.p_sig #define U_code u_kproc.kp_proc.p_code -#endif /* COMPAT_LINUX_THREADS */ #ifndef KERNEL #define u_ar0 U_ar0 diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 19b46d8ab49d..bd592be24e57 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -59,7 +59,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_glue.c,v 1.81 1999/01/21 08:29:10 dillon Exp $ + * $Id: vm_glue.c,v 1.82 1999/01/21 09:36:23 dillon Exp $ */ #include "opt_rlimit.h" @@ -238,16 +238,6 @@ vm_fork(p1, p2, flags) up = p2->p_addr; -#ifndef COMPAT_LINUX_THREADS - /* - * p_stats and p_sigacts currently point at fields in the user struct - * but not at &u, instead at p_addr. Copy p_sigacts and parts of - * p_stats; zero the rest of p_stats (statistics). - */ - p2->p_stats = &up->u_stats; - p2->p_sigacts = &up->u_sigacts; - up->u_sigacts = *p1->p_sigacts; -#else /* * p_stats currently points at fields in the user struct * but not at &u, instead at p_addr. Copy parts of @@ -263,7 +253,7 @@ vm_fork(p1, p2, flags) p2->p_sigacts = &up->u_sigacts; up->u_sigacts = *p1->p_sigacts; } -#endif /* COMPAT_LINUX_THREADS */ + bzero(&up->u_stats.pstat_startzero, (unsigned) ((caddr_t) &up->u_stats.pstat_endzero - (caddr_t) &up->u_stats.pstat_startzero)); |
