diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-07-19 17:41:22 +0200 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2016-07-25 11:02:17 +0200 |
commit | 9dd8d5f870f44597c67d0e5f72753b9d02810308 (patch) | |
tree | 3be87d80ea4667be11371c8148df7ba81824a67f /Documentation/watchdog | |
parent | e035d8f787b1de664fcac5eb84643f8c374284c4 (diff) | |
download | lwn-9dd8d5f870f44597c67d0e5f72753b9d02810308.tar.gz lwn-9dd8d5f870f44597c67d0e5f72753b9d02810308.zip |
Documentation/watchdog: check return value for magic close
A recent commit added a write to the watchdog test code for doing the "magic
close", but that caused a compile-time warning:
Documentation/watchdog/src/watchdog-test.c: In function ‘main’:
Documentation/watchdog/src/watchdog-test.c:94:5: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
This changes the code to print a runtime warning if the write fails.
Fixes: 5a2d3de19602 ("Documentation/watchdog: add support for magic close to watchdog-test")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'Documentation/watchdog')
-rw-r--r-- | Documentation/watchdog/src/watchdog-test.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Documentation/watchdog/src/watchdog-test.c b/Documentation/watchdog/src/watchdog-test.c index c69153913722..6983d05097e2 100644 --- a/Documentation/watchdog/src/watchdog-test.c +++ b/Documentation/watchdog/src/watchdog-test.c @@ -2,6 +2,7 @@ * Watchdog Driver Test Program */ +#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -35,9 +36,13 @@ static void keep_alive(void) static void term(int sig) { - write(fd, &v, 1); + int ret = write(fd, &v, 1); + close(fd); - printf("\nStopping watchdog ticks...\n"); + if (ret < 0) + printf("\nStopping watchdog ticks failed (%d)...\n", errno); + else + printf("\nStopping watchdog ticks...\n"); exit(0); } @@ -45,6 +50,7 @@ int main(int argc, char *argv[]) { int flags; unsigned int ping_rate = 1; + int ret; setbuf(stdout, NULL); @@ -91,7 +97,9 @@ int main(int argc, char *argv[]) sleep(ping_rate); } end: - write(fd, &v, 1); + ret = write(fd, &v, 1); + if (ret < 0) + printf("Stopping watchdog ticks failed (%d)...\n", errno); close(fd); return 0; } |