tty.c: Add support for reloading a single TTY

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson
2017-07-14 11:03:59 +02:00
parent 62081d9525
commit b20fafd9fa
3 changed files with 13 additions and 3 deletions
+1 -1
View File
@@ -196,7 +196,7 @@ restart:
sm->in_teardown = 1;
cond_reload();
service_step_all(SVC_TYPE_SERVICE | SVC_TYPE_INETD);
tty_reload();
tty_reload(NULL);
sm->state = SM_RELOAD_WAIT_STATE;
break;
+11 -1
View File
@@ -374,10 +374,20 @@ int tty_respawn(pid_t pid)
/*
* Called after reload of /etc/finit.d/, stop/start TTYs
*/
void tty_reload(void)
void tty_reload(char *dev)
{
tty_node_t *tty;
if (dev) {
tty = tty_find(dev);
if (!tty)
logit(LOG_WARNING, "No TTY registered for %s", dev);
else
tty_action(tty);
return;
}
tty_sweep();
LIST_FOREACH(tty, &tty_list, link) {
+1 -1
View File
@@ -67,7 +67,7 @@ void tty_start (finit_tty_t *tty);
void tty_stop (finit_tty_t *tty);
int tty_enabled (finit_tty_t *tty);
int tty_respawn (pid_t pid);
void tty_reload (void);
void tty_reload (char *dev);
void tty_runlevel (void);
#endif /* FINIT_TTY_H_ */