diff options
author | Matt Kraai <kraai@debian.org> | 2000-09-20 04:33:30 +0000 |
---|---|---|
committer | Matt Kraai <kraai@debian.org> | 2000-09-20 04:33:30 +0000 |
commit | b938e2ff99d90620dc14d606a80354ec0264c6c4 (patch) | |
tree | fff66909f28b5bf21183c8b17f7c90d3079ec140 | |
parent | 46a98dfb138a55e5f7a94d7f7a82671c644a8368 (diff) |
Return failure if ping gets no response.
-rw-r--r-- | networking/ping.c | 10 | ||||
-rw-r--r-- | ping.c | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/networking/ping.c b/networking/ping.c index 5f44a6816..f3ce6fb80 100644 --- a/networking/ping.c +++ b/networking/ping.c @@ -1,6 +1,6 @@ /* vi: set sw=4 ts=4: */ /* - * $Id: ping.c,v 1.23 2000/07/16 20:57:15 kraai Exp $ + * $Id: ping.c,v 1.24 2000/09/20 04:33:30 kraai Exp $ * Mini ping implementation for busybox * * Copyright (C) 1999 by Randolph Chung <tausq@debian.org> @@ -279,6 +279,8 @@ static void unpack(char *, int, struct sockaddr_in *); static void pingstats(int junk) { + int status; + signal(SIGINT, SIG_IGN); printf("\n--- %s ping statistics ---\n", hostname); @@ -294,7 +296,11 @@ static void pingstats(int junk) tmin / 10, tmin % 10, (tsum / (nreceived + nrepeats)) / 10, (tsum / (nreceived + nrepeats)) % 10, tmax / 10, tmax % 10); - exit(0); + if (nreceived != 0) + status = EXIT_SUCCESS; + else + status = EXIT_FAILURE; + exit(status); } static void sendping(int junk) @@ -1,6 +1,6 @@ /* vi: set sw=4 ts=4: */ /* - * $Id: ping.c,v 1.23 2000/07/16 20:57:15 kraai Exp $ + * $Id: ping.c,v 1.24 2000/09/20 04:33:30 kraai Exp $ * Mini ping implementation for busybox * * Copyright (C) 1999 by Randolph Chung <tausq@debian.org> @@ -279,6 +279,8 @@ static void unpack(char *, int, struct sockaddr_in *); static void pingstats(int junk) { + int status; + signal(SIGINT, SIG_IGN); printf("\n--- %s ping statistics ---\n", hostname); @@ -294,7 +296,11 @@ static void pingstats(int junk) tmin / 10, tmin % 10, (tsum / (nreceived + nrepeats)) / 10, (tsum / (nreceived + nrepeats)) % 10, tmax / 10, tmax % 10); - exit(0); + if (nreceived != 0) + status = EXIT_SUCCESS; + else + status = EXIT_FAILURE; + exit(status); } static void sendping(int junk) |