summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/sys_socket.c')
-rw-r--r--sys/kern/sys_socket.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index 5b65bea..8cf30cd 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)sys_socket.c 8.1 (Berkeley) 6/10/93
- * $Id: sys_socket.c,v 1.17 1998/03/28 10:33:07 bde Exp $
+ * $Id: sys_socket.c,v 1.18 1998/06/07 17:11:40 dfr Exp $
*/
#include <sys/param.h>
@@ -44,6 +44,7 @@
#include <sys/sockio.h>
#include <sys/stat.h>
#include <sys/uio.h>
+#include <sys/filedesc.h>
#include <net/if.h>
#include <net/route.h>
@@ -114,12 +115,18 @@ soo_ioctl(fp, cmd, data, p)
*(int *)data = so->so_rcv.sb_cc;
return (0);
- case SIOCSPGRP:
- so->so_pgid = *(int *)data;
+ case FIOSETOWN:
+ return (fsetown(*(int *)data, &so->so_sigio));
+
+ case FIOGETOWN:
+ *(int *)data = fgetown(so->so_sigio);
return (0);
+ case SIOCSPGRP:
+ return (fsetown(-(*(int *)data), &so->so_sigio));
+
case SIOCGPGRP:
- *(int *)data = so->so_pgid;
+ *(int *)data = -fgetown(so->so_sigio);
return (0);
case SIOCATMARK:
OpenPOWER on IntegriCloud