diff options
author | jhb <jhb@FreeBSD.org> | 2001-01-23 23:59:38 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-01-23 23:59:38 +0000 |
commit | 80649f2bc14466af487fac64c40a88ede7c20efc (patch) | |
tree | 781ea883b6ed60cc23e615d8c1d3f2f82b901dd5 /sys/i386/ibcs2/ibcs2_ioctl.c | |
parent | f5fbc62142d116619713e03561896c38676e6f5c (diff) | |
download | FreeBSD-src-80649f2bc14466af487fac64c40a88ede7c20efc.zip FreeBSD-src-80649f2bc14466af487fac64c40a88ede7c20efc.tar.gz |
Proc locking.
Diffstat (limited to 'sys/i386/ibcs2/ibcs2_ioctl.c')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_ioctl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/i386/ibcs2/ibcs2_ioctl.c b/sys/i386/ibcs2/ibcs2_ioctl.c index bc188f4..1350c1a 100644 --- a/sys/i386/ibcs2/ibcs2_ioctl.c +++ b/sys/i386/ibcs2/ibcs2_ioctl.c @@ -499,8 +499,11 @@ ibcs2_ioctl(p, uap) return ioctl(p, (struct ioctl_args *)uap); case IBCS2_TIOCGPGRP: - return copyout((caddr_t)&p->p_pgrp->pg_id, SCARG(uap, data), + PROC_LOCK(p); + error = copyout((caddr_t)&p->p_pgrp->pg_id, SCARG(uap, data), sizeof(p->p_pgrp->pg_id)); + PROC_UNLOCK(p); + return error; case IBCS2_TIOCSPGRP: /* XXX - is uap->data a pointer to pgid? */ { @@ -526,6 +529,7 @@ ibcs2_ioctl(p, uap) short bitx, bity; } ibcs2_jwinsize; + PROC_LOCK(p); ibcs2_jwinsize.bytex = 80; /* p->p_session->s_ttyp->t_winsize.ws_col; XXX */ ibcs2_jwinsize.bytey = 25; @@ -534,6 +538,7 @@ ibcs2_ioctl(p, uap) p->p_session->s_ttyp->t_winsize.ws_xpixel; ibcs2_jwinsize.bity = p->p_session->s_ttyp->t_winsize.ws_ypixel; + PROC_UNLOCK(p); return copyout((caddr_t)&ibcs2_jwinsize, SCARG(uap, data), sizeof(ibcs2_jwinsize)); } |