X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsleep%2Fsleep.c;h=cc1ffa63f1efeb28f7e00b2e69bbed848e2e5198;hb=d6d810fbf8071f8510450dbacd1d083f37603656;hp=0d7c1e3fbe6f41905af262a91585a039b8f93ae3;hpb=e2cc6eca73cd1df8be552d7c23f9ff3d69c06f1e;p=elogind.git diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c index 0d7c1e3fb..cc1ffa63f 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -48,15 +48,14 @@ static int write_mode(char **modes) { if (k == 0) return 0; - log_debug("Failed to write '%s' to /sys/power/disk: %s", - *mode, strerror(-k)); + log_debug_errno(k, "Failed to write '%s' to /sys/power/disk: %m", + *mode); if (r == 0) r = k; } if (r < 0) - log_error("Failed to write mode to /sys/power/disk: %s", - strerror(-r)); + log_error_errno(r, "Failed to write mode to /sys/power/disk: %m"); return r; } @@ -71,17 +70,15 @@ static int write_state(FILE **f, char **states) { k = write_string_stream(*f, *state); if (k == 0) return 0; - log_debug("Failed to write '%s' to /sys/power/state: %s", - *state, strerror(-k)); + log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", + *state); if (r == 0) r = k; fclose(*f); *f = fopen("/sys/power/state", "we"); - if (!*f) { - log_error("Failed to open /sys/power/state: %m"); - return -errno; - } + if (!*f) + return log_error_errno(errno, "Failed to open /sys/power/state: %m"); } return r; @@ -95,6 +92,7 @@ static int execute(char **modes, char **states) { arg_verb, NULL }; + static const char* const dirs[] = {SYSTEM_SLEEP_PATH, NULL}; int r; _cleanup_fclose_ FILE *f = NULL; @@ -102,17 +100,15 @@ static int execute(char **modes, char **states) { /* This file is opened first, so that if we hit an error, * we can abort before modifying any state. */ f = fopen("/sys/power/state", "we"); - if (!f) { - log_error("Failed to open /sys/power/state: %m"); - return -errno; - } + if (!f) + return log_error_errno(errno, "Failed to open /sys/power/state: %m"); /* Configure the hibernation mode */ r = write_mode(modes); if (r < 0) return r; - execute_directory(SYSTEM_SLEEP_PATH, NULL, DEFAULT_TIMEOUT_USEC, arguments); + execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments); log_struct(LOG_INFO, LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_START), @@ -126,12 +122,12 @@ static int execute(char **modes, char **states) { log_struct(LOG_INFO, LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_STOP), - LOG_MESSAGE("MESSAGE=System resumed."), + LOG_MESSAGE("System resumed."), "SLEEP=%s", arg_verb, NULL); arguments[1] = (char*) "post"; - execute_directory(SYSTEM_SLEEP_PATH, NULL, DEFAULT_TIMEOUT_USEC, arguments); + execute_directories(dirs, DEFAULT_TIMEOUT_USEC, arguments); return r; }