Files
MSYS2-packages/util-linux/2.24.2-agetty.patch
2014-10-13 14:09:40 +04:00

50 lines
1.2 KiB
Diff

--- origsrc/util-linux-2.24.2/term-utils/agetty.c 2014-04-24 02:37:04.462705900 -0500
+++ src/util-linux-2.24.2/term-utils/agetty.c 2014-07-08 21:07:06.378498800 -0500
@@ -64,6 +64,14 @@
# ifndef DEFAULT_STERM
# define DEFAULT_STERM "vt102"
# endif
+#elif defined(__CYGWIN__)
+# define USE_SYSLOG
+# ifndef DEFAULT_VCTERM
+# define DEFAULT_VCTERM "cygwin"
+# endif
+# ifndef DEFAULT_STERM
+# define DEFAULT_STERM "vt102"
+# endif
#else
# ifndef DEFAULT_VCTERM
# define DEFAULT_VCTERM "vt100"
@@ -896,7 +904,9 @@ static void update_utmp(struct options *
#endif
ut.ut_type = LOGIN_PROCESS;
ut.ut_pid = pid;
+#ifndef __CYGWIN__
ut.ut_session = sid;
+#endif
pututline(&ut);
endutent();
@@ -983,8 +993,12 @@ static void open_tty(char *tty, struct t
if (op->flags & F_HANGUP) {
+#ifdef TIOCNOTTY
if (ioctl(fd, TIOCNOTTY))
debug("TIOCNOTTY ioctl failed\n");
+#else
+ setsid();
+#endif
/*
* Let's close all file decriptors before vhangup
@@ -1722,7 +1736,7 @@ static void termio_final(struct options
tp->c_cc[VQUIT] = DEF_QUIT;
tp->c_cc[VEOF] = DEF_EOF;
tp->c_cc[VEOL] = DEF_EOL;
-#ifdef __linux__
+#if defined(VSWTC)
tp->c_cc[VSWTC] = DEF_SWITCH;
#elif defined(VSWTCH)
tp->c_cc[VSWTCH] = DEF_SWITCH;