aboutsummaryrefslogtreecommitdiff
path: root/hurd/hurdioctl.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-02-09 10:00:23 +0000
committerRoland McGrath <roland@gnu.org>1996-02-09 10:00:23 +0000
commit56f778c958709876173156cf84f810150b2b8b1a (patch)
tree00f0564eab5783f64146408037f296985addfabb /hurd/hurdioctl.c
parenta482b5a5959240f5d196b32c4833ac48a03c02c3 (diff)
downloadglibc-56f778c958709876173156cf84f810150b2b8b1a.zip
glibc-56f778c958709876173156cf84f810150b2b8b1a.tar.gz
glibc-56f778c958709876173156cf84f810150b2b8b1a.tar.bz2
Thu Feb 8 18:55:27 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>cvs/libc-960209
* hurd/hurdioctl.c (tiocsctty): Set the terminal's pgrp to our own.
Diffstat (limited to 'hurd/hurdioctl.c')
-rw-r--r--hurd/hurdioctl.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/hurd/hurdioctl.c b/hurd/hurdioctl.c
index 5a41eb1..30cce1c 100644
--- a/hurd/hurdioctl.c
+++ b/hurd/hurdioctl.c
@@ -1,5 +1,5 @@
/* ioctl commands which must be done in the C library.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -126,12 +126,13 @@ fioclex (int fd,
_HURD_HANDLE_IOCTLS (fioclex, FIOCLEX, FIONCLEX);
#include <hurd/term.h>
+#include <hurd/tioctl.h>
static void
rectty_dtable (mach_port_t cttyid)
{
int i;
-
+
HURD_CRITICAL_BEGIN;
__mutex_lock (&_hurd_dtable_lock);
@@ -222,6 +223,11 @@ tiocsctty (int fd,
else if (err)
return __hurd_fail (err);
+ /* Change the terminal's pgrp to ours. */
+ err = HURD_DPORT_USE (fd, __tioctl_tiocspgrp (port, _hurd_pgrp));
+ if (err)
+ return __hurd_fail (err);
+
/* Make it our own. */
_hurd_port_set (&_hurd_ports[INIT_PORT_CTTYID], cttyid);
@@ -256,7 +262,7 @@ tiocnotty (int fd,
_hurd_port_set (&_hurd_ports[INIT_PORT_CTTYID], MACH_PORT_NULL);
/* Reset all the ctty ports in all the descriptors. */
-
+
__USEPORT (CTTYID, (rectty_dtable (MACH_PORT_NULL), 0));
return 0;