+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ login_tty: Stricter unit test.
+ * modules/login_tty-tests (Depends-on): Add tcgetsid.
+ * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
+ and tcgetsid() after login_tty.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
2010-09-16 Bruno Haible <bruno@clisp.org>
New module 'tcgetsid'.
/* Specification. */
extern int login_tty (int);
+#include <errno.h>
#include <pty.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <termios.h>
+#include <unistd.h>
int
main ()
}
}
+ /* From here on, we cannot use stderr for error messages any more.
+ If a test fails, just abort. */
+
+ /* Check that fd = 0, 1, 2 are now open to the controlling terminal for the
+ current process and that it is a session of its own. */
+ {
+ int fd;
+ for (fd = 0; fd < 3; fd++)
+ if (!(tcgetpgrp (fd) == getpid ()))
+ abort ();
+ for (fd = 0; fd < 3; fd++)
+ {
+ int sid = tcgetsid (fd);
+ if (!(sid == -1 ? errno == ENOSYS : sid == getpid ()))
+ abort ();
+ }
+ }
+
return 0;
}