Remove redundant code from runshutdown() now tcsetsid(3) works reliably.

We can now just call setctty() without any problems. This means the
shell running the shutdown script is now the session leader, just like
on startup.
This commit is contained in:
Ed Schouten 2009-06-15 19:24:47 +00:00
parent 9c373a81a3
commit 43273e33a3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=194257

View File

@ -1563,30 +1563,13 @@ runshutdown(void)
shell = get_shell();
if ((pid = fork()) == 0) {
int fd;
/* Assume that init already grab console as ctty before */
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
sa.sa_handler = SIG_IGN;
sigaction(SIGTSTP, &sa, (struct sigaction *)0);
sigaction(SIGHUP, &sa, (struct sigaction *)0);
revoke(_PATH_CONSOLE);
if ((fd = open(_PATH_CONSOLE, O_RDWR)) == -1)
warning("can't open %s: %m", _PATH_CONSOLE);
else {
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
if (fd > 2)
close(fd);
}
/*
* Run the shutdown script.
*/
setctty(_PATH_CONSOLE);
char _sh[] = "sh";
char _reboot[] = "reboot";