]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ss: fix expired time format of timer
authorxixiliguo <xixiliguo@foxmail.com>
Sat, 20 Jul 2024 15:23:27 +0000 (23:23 +0800)
committerStephen Hemminger <stephen@networkplumber.org>
Thu, 25 Jul 2024 17:37:53 +0000 (10:37 -0700)
When expired time of time-wait timer is less than or equal to 9 seconds,
as shown below, result that below 1 sec is incorrect.
Expect output should be show 9 seconds and 373 millisecond, but 9.373ms
mean only 9 millisecond and 373 microseconds

Before:
TIME-WAIT 0      0     ...    timer:(timewait,12sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,11sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,10sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,9.373ms,0)
TIME-WAIT 0      0     ...    timer:(timewait,8.679ms,0)
TIME-WAIT 0      0     ...    timer:(timewait,1.574ms,0)
TIME-WAIT 0      0     ...    timer:(timewait,954ms,0)
TIME-WAIT 0      0     ...    timer:(timewait,303ms,0)

After:
TIME-WAIT 0      0     ...    timer:(timewait,13sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,12sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,10sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,9.501sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,8.990sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,7.865sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,1.098sec,0)
TIME-WAIT 0      0     ...    timer:(timewait,476ms,0)

Signed-off-by: xixiliguo <xixiliguo@foxmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
misc/ss.c

index 27f0f20d81fb3b922b4db6fe298fcfbdf8993c2e..620f4c8fbc4cf25e86a4cb48f68f61347416cdbc 100644 (file)
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -1516,7 +1516,7 @@ static const char *print_ms_timer(unsigned int timeout)
                sprintf(buf+strlen(buf), "%d%s", secs, msecs ? "." : "sec");
        }
        if (msecs)
-               sprintf(buf+strlen(buf), "%03dms", msecs);
+               sprintf(buf+strlen(buf), "%03d%s", msecs, secs ? "sec" : "ms");
        return buf;
 }