diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/procfs/procfs_vnops.c | 7 | ||||
-rw-r--r-- | sys/miscfs/procfs/procfs_vnops.c | 7 | ||||
-rw-r--r-- | sys/sys/pioctl.h | 13 |
3 files changed, 15 insertions, 12 deletions
diff --git a/sys/fs/procfs/procfs_vnops.c b/sys/fs/procfs/procfs_vnops.c index f660f3a..9a40ea3 100644 --- a/sys/fs/procfs/procfs_vnops.c +++ b/sys/fs/procfs/procfs_vnops.c @@ -36,7 +36,7 @@ * * @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95 * - * $Id: procfs_vnops.c,v 1.46 1997/12/08 22:09:24 sef Exp $ + * $Id: procfs_vnops.c,v 1.47 1997/12/12 03:33:43 sef Exp $ */ /* @@ -243,8 +243,9 @@ procfs_ioctl(ap) break; case PIOCSFL: procp->p_pfsflags = (unsigned char)*(unsigned int*)ap->a_data; - *(unsigned int*)ap->a_data = procp->p_stops; break; + case PIOCGFL: + *(unsigned int*)ap->a_data = (unsigned int)procp->p_pfsflags; case PIOCSTATUS: psp = (struct procfs_status *)ap->a_data; psp->state = (procp->p_step == 0); @@ -273,7 +274,7 @@ procfs_ioctl(ap) case PIOCCONT: /* Restart a proc */ if (procp->p_step == 0) return EINVAL; /* Can only start a stopped process */ - if (ap->a_data && (signo = *(int*)ap->a_data)) { + if (signo = *(int*)ap->a_data) { if (signo >= NSIG || signo <= 0) return EINVAL; psignal(procp, signo); diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c index f660f3a..9a40ea3 100644 --- a/sys/miscfs/procfs/procfs_vnops.c +++ b/sys/miscfs/procfs/procfs_vnops.c @@ -36,7 +36,7 @@ * * @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95 * - * $Id: procfs_vnops.c,v 1.46 1997/12/08 22:09:24 sef Exp $ + * $Id: procfs_vnops.c,v 1.47 1997/12/12 03:33:43 sef Exp $ */ /* @@ -243,8 +243,9 @@ procfs_ioctl(ap) break; case PIOCSFL: procp->p_pfsflags = (unsigned char)*(unsigned int*)ap->a_data; - *(unsigned int*)ap->a_data = procp->p_stops; break; + case PIOCGFL: + *(unsigned int*)ap->a_data = (unsigned int)procp->p_pfsflags; case PIOCSTATUS: psp = (struct procfs_status *)ap->a_data; psp->state = (procp->p_step == 0); @@ -273,7 +274,7 @@ procfs_ioctl(ap) case PIOCCONT: /* Restart a proc */ if (procp->p_step == 0) return EINVAL; /* Can only start a stopped process */ - if (ap->a_data && (signo = *(int*)ap->a_data)) { + if (signo = *(int*)ap->a_data) { if (signo >= NSIG || signo <= 0) return EINVAL; psignal(procp, signo); diff --git a/sys/sys/pioctl.h b/sys/sys/pioctl.h index 8981782..60b6701 100644 --- a/sys/sys/pioctl.h +++ b/sys/sys/pioctl.h @@ -1,7 +1,7 @@ /* * procfs ioctl definitions. * - * $Id: pioctl.h,v 1.2 1997/12/07 03:59:26 sef Exp $ + * $Id: pioctl.h,v 1.3 1997/12/08 22:09:39 sef Exp $ */ #ifndef _SYS_PIOCTL_H @@ -17,14 +17,15 @@ struct procfs_status { unsigned long val; /* Any extra data */ }; -# define PIOCBIS _IOW('p', 1, unsigned int) /* Set event flag */ -# define PIOCBIC _IOW('p', 2, unsigned int) /* Clear event flag */ -# define PIOCSFL _IOW('p', 3, unsigned int) /* Set flags */ +# define PIOCBIS _IO('p', 1) /* Set event flag */ +# define PIOCBIC _IO('p', 2) /* Clear event flag */ +# define PIOCSFL _IO('p', 3) /* Set flags */ /* wait for proc to stop */ # define PIOCWAIT _IOR('p', 4, struct procfs_status) -# define PIOCCONT _IOW('p', 5, int) /* Continue a process */ +# define PIOCCONT _IO('p', 5) /* Continue a process */ /* Get proc status */ -# define PIOCSTATUS _IOW('p', 6, struct procfs_status) +# define PIOCSTATUS _IOR('p', 6, struct procfs_status) +# define PIOCGFL _IOR('p', 7, unsigned int) /* Get flags */ # define S_EXEC 0x00000001 /* stop-on-exec */ # define S_SIG 0x00000002 /* stop-on-signal */ |