Change the exit status for 0 and 2 to be the same as with ping(1)
and be usable in scripts, etc. This also changes the semantics in case when we lose one of n packets. In that case, before we exited by SIG, now we exit with return(0). Submitted by: Gert Doering (gert space.net) MFC after: 10 days
This commit is contained in:
parent
87fbf5762c
commit
08921e6dda
@ -29,7 +29,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 15, 2007
|
||||
.Dd May 27, 2008
|
||||
.Dt PING6 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -409,7 +409,9 @@ option of
|
||||
The
|
||||
.Nm
|
||||
utility returns 0 on success (the host is alive),
|
||||
and non-zero if the arguments are incorrect or the host is not responding.
|
||||
2 if the transmission was successful but no responses were received,
|
||||
any other non-zero value if the arguments are incorrect or
|
||||
another error has occured.
|
||||
.Sh EXAMPLES
|
||||
Normally,
|
||||
.Nm
|
||||
|
@ -1074,6 +1074,9 @@ main(argc, argv)
|
||||
|
||||
/* signal handling */
|
||||
if (seenalrm) {
|
||||
/* last packet sent, timeout reached? */
|
||||
if (npackets && ntransmitted >= npackets)
|
||||
break;
|
||||
retransmit();
|
||||
seenalrm = 0;
|
||||
continue;
|
||||
@ -1173,7 +1176,7 @@ main(argc, argv)
|
||||
break;
|
||||
}
|
||||
summary();
|
||||
exit(nreceived == 0);
|
||||
exit(nreceived == 0 ? 2 : 0);
|
||||
}
|
||||
|
||||
void
|
||||
@ -1224,7 +1227,7 @@ retransmit()
|
||||
itimer.it_interval.tv_usec = 0;
|
||||
itimer.it_value.tv_usec = 0;
|
||||
|
||||
(void)signal(SIGALRM, onint);
|
||||
(void)signal(SIGALRM, onsignal);
|
||||
(void)setitimer(ITIMER_REAL, &itimer, NULL);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user