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: 5a2d3de196 ("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>
tirimbino
Arnd Bergmann 9 years ago committed by Wim Van Sebroeck
parent e035d8f787
commit 9dd8d5f870
  1. 12
      Documentation/watchdog/src/watchdog-test.c

@ -2,6 +2,7 @@
* Watchdog Driver Test Program * Watchdog Driver Test Program
*/ */
#include <errno.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -35,8 +36,12 @@ static void keep_alive(void)
static void term(int sig) static void term(int sig)
{ {
write(fd, &v, 1); int ret = write(fd, &v, 1);
close(fd); close(fd);
if (ret < 0)
printf("\nStopping watchdog ticks failed (%d)...\n", errno);
else
printf("\nStopping watchdog ticks...\n"); printf("\nStopping watchdog ticks...\n");
exit(0); exit(0);
} }
@ -45,6 +50,7 @@ int main(int argc, char *argv[])
{ {
int flags; int flags;
unsigned int ping_rate = 1; unsigned int ping_rate = 1;
int ret;
setbuf(stdout, NULL); setbuf(stdout, NULL);
@ -91,7 +97,9 @@ int main(int argc, char *argv[])
sleep(ping_rate); sleep(ping_rate);
} }
end: end:
write(fd, &v, 1); ret = write(fd, &v, 1);
if (ret < 0)
printf("Stopping watchdog ticks failed (%d)...\n", errno);
close(fd); close(fd);
return 0; return 0;
} }

Loading…
Cancel
Save