Skip to content

Commit

Permalink
* misc/login_tty.c [! TIOCSCTTY]: Try an emulation using ttyname
Browse files Browse the repository at this point in the history
 	and open.
  • Loading branch information
Roland McGrath committed Apr 5, 1995
1 parent 4bca5a3 commit c0fef53
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
3 changes: 3 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Wed Apr 5 00:13:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>

* misc/login_tty.c [! TIOCSCTTY]: Try an emulation using ttyname
and open.

* sysdeps/i386/bsd-_setjmp.S: Fix typo in name: setjmp -> _setjmp.

Tue Apr 4 00:48:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
Expand Down
20 changes: 20 additions & 0 deletions misc/login_tty.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,34 @@ static char sccsid[] = "@(#)login_tty.c 8.1 (Berkeley) 6/4/93";
#include <sys/param.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>

int
login_tty(fd)
int fd;
{
(void) setsid();
#ifdef TIOCSCTTY
if (ioctl(fd, TIOCSCTTY, (char *)NULL) == -1)
return (-1);
#else
{
/* This might work. */
char *fdname = ttyname (fd);
int newfd;
if (fdname)
{
if (fd != 0)
(void) close (0);
if (fd != 1)
(void) close (1);
if (fd != 2)
(void) close (2);
newfd = open (fdname, O_RDWR);
(void) close (newfd);
}
}
#endif
(void) dup2(fd, 0);
(void) dup2(fd, 1);
(void) dup2(fd, 2);
Expand Down

0 comments on commit c0fef53

Please sign in to comment.