summaryrefslogtreecommitdiffstats
path: root/sys-utils/rtcwake.c
diff options
context:
space:
mode:
authorMarek Otahal2010-04-23 14:16:59 +0200
committerKarel Zak2010-04-23 14:16:59 +0200
commitc15dd93b17561e7768d076d7dbcda5e8398dd15b (patch)
tree9bb5e1480ce1a6b10a803c124347f52ffa648afa /sys-utils/rtcwake.c
parentlibblkid: reset superblocks result after error (diff)
downloadkernel-qcow2-util-linux-c15dd93b17561e7768d076d7dbcda5e8398dd15b.tar.gz
kernel-qcow2-util-linux-c15dd93b17561e7768d076d7dbcda5e8398dd15b.tar.xz
kernel-qcow2-util-linux-c15dd93b17561e7768d076d7dbcda5e8398dd15b.zip
rtcwake : add disable action for rtc alarm
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/rtcwake.c')
-rw-r--r--sys-utils/rtcwake.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c
index 83a5d10ec..265113069 100644
--- a/sys-utils/rtcwake.c
+++ b/sys-utils/rtcwake.c
@@ -344,6 +344,7 @@ int main(int argc, char **argv)
|| strcmp(optarg, "on") == 0
|| strcmp(optarg, "no") == 0
|| strcmp(optarg, "off") == 0
+ || strcmp(optarg, "disable") == 0
) {
suspend = strdup(optarg);
break;
@@ -413,7 +414,7 @@ int main(int argc, char **argv)
printf(clock_mode == CM_UTC ? _("Using UTC time.\n") :
_("Using local time.\n"));
- if (!alarm && !seconds) {
+ if (!alarm && !seconds && strcmp(suspend,"disable")) {
fprintf(stderr, _("%s: must provide wake time\n"), progname);
usage(EXIT_FAILURE);
}
@@ -522,6 +523,10 @@ int main(int argc, char **argv)
} while (!(data & RTC_AF));
}
+ } else if (strcmp(suspend, "disable") == 0) {
+ /* just break, alarm gets disabled in the end */
+ if (verbose)
+ printf(_("suspend mode: disable; disabling alarm\n"));
} else {
if (verbose)
printf(_("suspend mode: %s; suspending system\n"), suspend);