libutil: add O_NOCTTY to old pty open code
. fixes e.g. ssh sessions not getting their own controlling tty (causing ^C getting broadcast to too many processes) . previously (before -lutil) handled like this by bsd-openpty.c in openssh . reported by Andy Kosela, debugged by ThomasV
This commit is contained in:
parent
886c253793
commit
9afa2418d8
@ -105,7 +105,7 @@ openpty(int *amaster, int *aslave, char *name, struct termios *term,
|
||||
for (cp = cp2 = TTY_OLD_SUFFIX TTY_NEW_SUFFIX; *cp2; cp2++) {
|
||||
line[5] = 'p';
|
||||
line[9] = *cp2;
|
||||
if ((master = open(line, O_RDWR, 0)) == -1) {
|
||||
if ((master = open(line, O_RDWR | O_NOCTTY, 0)) == -1) {
|
||||
if (errno != ENOENT)
|
||||
continue; /* busy */
|
||||
if ((size_t)(cp2 - cp + 1) < sizeof(TTY_OLD_SUFFIX))
|
||||
@ -120,7 +120,7 @@ openpty(int *amaster, int *aslave, char *name, struct termios *term,
|
||||
#ifndef __minix
|
||||
revoke(line) == 0 &&
|
||||
#endif
|
||||
(slave = open(line, O_RDWR, 0)) != -1) {
|
||||
(slave = open(line, O_RDWR | O_NOCTTY, 0)) != -1) {
|
||||
#ifndef __minix
|
||||
gotit:
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user