[WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code
authorWANG Cong <xiyou.wangcong@gmail.com>
Sat, 6 Oct 2007 03:17:13 +0000 (11:17 +0800)
committerWim Van Sebroeck <wim@iguana.be>
Tue, 23 Oct 2007 20:35:27 +0000 (20:35 +0000)
Make some improvements for Documentation/watchdog/src/watchdog-simple.c.

Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Documentation/watchdog/src/watchdog-simple.c

index 47801bc7e742dd44a650322e2e8b79bbf463adcf..4cf72f3fa8e91b1b725ba3e2af92dc68e4693394 100644 (file)
@@ -3,15 +3,25 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-int main(int argc, const char *argv[]) {
+int main(void)
+{
        int fd = open("/dev/watchdog", O_WRONLY);
+       int ret = 0;
        if (fd == -1) {
                perror("watchdog");
-               exit(1);
+               exit(EXIT_FAILURE);
        }
        while (1) {
-               write(fd, "\0", 1);
-               fsync(fd);
+               ret = write(fd, "\0", 1);
+               if (ret != 1) {
+                       ret = -1;
+                       break;
+               }
+               ret = fsync(fd);
+               if (ret)
+                       break;
                sleep(10);
        }
+       close(fd);
+       return ret;
 }