mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 01:01:06 +00:00
Revert "kern: console: make /dev/console backing console more predictable"
This accidentally snuck into a different branch, and has not been
reviewed for sanity yet..
This reverts commit 8ec6d7be2e
.
This commit is contained in:
parent
f9b17005bf
commit
a68d5a6625
|
@ -239,31 +239,15 @@ cnremove(struct consdev *cn)
|
|||
{
|
||||
struct cn_device *cnd;
|
||||
int i;
|
||||
bool primary = true;
|
||||
|
||||
STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) {
|
||||
if (cnd->cnd_cn != cn) {
|
||||
primary = false;
|
||||
if (cnd->cnd_cn != cn)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (STAILQ_FIRST(&cn_devlist) == cnd)
|
||||
ttyconsdev_select(NULL);
|
||||
STAILQ_REMOVE(&cn_devlist, cnd, cn_device, cnd_next);
|
||||
cnd->cnd_cn = NULL;
|
||||
|
||||
/*
|
||||
* We only need to select a new console if we've removed all
|
||||
* consoles or if we're removing the primary console.
|
||||
*/
|
||||
if (primary) {
|
||||
struct cn_device *next;
|
||||
|
||||
next = STAILQ_FIRST(&cn_devlist);
|
||||
if (next == NULL)
|
||||
ttyconsdev_select(NULL);
|
||||
else
|
||||
ttyconsdev_select(next->cnd_cn->cn_name);
|
||||
}
|
||||
|
||||
/* Remove this device from available mask. */
|
||||
for (i = 0; i < CNDEVTAB_SIZE; i++)
|
||||
if (cnd == &cn_devtab[i]) {
|
||||
|
@ -372,6 +356,8 @@ sysctl_kern_console(SYSCTL_HANDLER_ARGS)
|
|||
error = 0;
|
||||
} else {
|
||||
error = cnadd(cp);
|
||||
if (error == 0)
|
||||
cnselect(cp);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue