]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/tty_pty.c
xnu-344.tar.gz
[apple/xnu.git] / bsd / kern / tty_pty.c
index 616d9e8278ddad26de6ace2691e7b05e11824fcb..43386b2a600a8c42737f68693e15ab703ba2d540 100644 (file)
@@ -71,6 +71,7 @@
 #include <sys/uio.h>
 #include <sys/kernel.h>
 #include <sys/vnode.h>
 #include <sys/uio.h>
 #include <sys/kernel.h>
 #include <sys/vnode.h>
+#include <sys/user.h>
 #include <sys/signalvar.h>
 
 #ifndef NeXT
 #include <sys/signalvar.h>
 
 #ifndef NeXT
@@ -316,12 +317,14 @@ ptsread(dev, uio, flag)
        register struct tty *tp = pt_tty[minor(dev)];
        register struct pt_ioctl *pti = &pt_ioctl[minor(dev)];
        int error = 0;
        register struct tty *tp = pt_tty[minor(dev)];
        register struct pt_ioctl *pti = &pt_ioctl[minor(dev)];
        int error = 0;
+       struct uthread *ut;
 
 
+       ut = (struct uthread *)get_bsdthread_info(current_act());
 again:
        if (pti->pt_flags & PF_REMOTE) {
                while (isbackground(p, tp)) {
                        if ((p->p_sigignore & sigmask(SIGTTIN)) ||
 again:
        if (pti->pt_flags & PF_REMOTE) {
                while (isbackground(p, tp)) {
                        if ((p->p_sigignore & sigmask(SIGTTIN)) ||
-                           (p->p_sigmask & sigmask(SIGTTIN)) ||
+                           (ut->uu_sigmask & sigmask(SIGTTIN)) ||
                            p->p_pgrp->pg_jobc == 0 ||
                            p->p_flag & P_PPWAIT)
                                return (EIO);
                            p->p_pgrp->pg_jobc == 0 ||
                            p->p_flag & P_PPWAIT)
                                return (EIO);