Группа :: Система/Настройка/Загрузка и инициализация
Пакет: sysvinit
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: 0010-ALT-halt-poweroff.patch
Скачать
Скачать
From 6b037ca6cd0e6543028cd1bf6318838fd4d33cad Mon Sep 17 00:00:00 2001
From: Alexey Gladkov <legion@altlinux.org>
Date: Thu, 16 Dec 2021 22:33:36 +0300
Subject: ALT: halt poweroff
---
src/halt.c | 10 +++++++---
src/shutdown.c | 5 ++++-
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/halt.c b/src/halt.c
index c633033..6e5f485 100644
--- a/src/halt.c
+++ b/src/halt.c
@@ -157,13 +157,15 @@ int get_runlevel(void)
/*
* Switch to another runlevel.
*/
-void do_shutdown(char *fl, int should_poweroff, char *tm)
+void do_shutdown(char *fl, int should_poweroff, char *tm, char *pw)
{
- char *args[9];
+ char *args[10];
int i = 0;
args[i++] = "shutdown";
args[i++] = fl;
+ if (pw)
+ args[i++] = pw;
if ( (! strcmp(fl, "-h") ) && (should_poweroff) )
args[i++] = "-P";
if (tm) {
@@ -231,6 +233,7 @@ int main(int argc, char **argv)
do_hddown = 1;
break;
case 'p':
+ if (do_reboot) usage();
do_poweroff = 1;
break;
case 't':
@@ -258,7 +261,8 @@ int main(int argc, char **argv)
*/
c = get_runlevel();
if (c != '0' && c != '6')
- do_shutdown(do_reboot ? "-r" : "-h", do_poweroff, tm);
+ do_shutdown(do_reboot ? "-r" : "-h", do_poweroff, tm,
+ do_poweroff ? "-P" : (do_reboot ? NULL : "-H"));
}
/*
diff --git a/src/shutdown.c b/src/shutdown.c
index 11f6dcd..06fdbc7 100644
--- a/src/shutdown.c
+++ b/src/shutdown.c
@@ -435,7 +435,10 @@ void issue_shutdown(char *halttype)
}
openlog("shutdown", LOG_PID, LOG_USER);
if (do_halt)
- syslog(LOG_NOTICE, "shutting down for system halt");
+ if (halttype)
+ syslog(LOG_NOTICE, "shutting down for system halt (%s)", halttype);
+ else
+ syslog(LOG_NOTICE, "shutting down for system halt");
else
syslog(LOG_NOTICE, "shutting down for system reboot");
closelog();
--
2.25.4