]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9354 fix signed/unsigned rate display
authorHoward Chu <hyc@openldap.org>
Tue, 13 Oct 2020 18:51:40 +0000 (19:51 +0100)
committerHoward Chu <hyc@openldap.org>
Tue, 13 Oct 2020 18:51:40 +0000 (19:51 +0100)
tests/progs/slapd-watcher.c

index d1b0d8c532c4430cc28e85efb5ee0a449c4e87ab..021c522f235a0f7b55a1ae2b9acf155fd1a419e8 100644 (file)
@@ -220,6 +220,7 @@ void display()
                if ( servers[i].flags & HAS_MONITOR ) {
                        struct timeval tv;
                        double rate, duration;
+                       long delta;
                        printf("      ");
                        if ( servers[i].flags & HAS_ENTRIES )
                                printf("  Entries  ");
@@ -241,11 +242,13 @@ void display()
                        }
                        duration = tv.tv_sec + (tv.tv_usec / (double)1000000);
                        if ( servers[i].flags & HAS_ENTRIES ) {
-                               rate = (servers[i].c_curr.entries - servers[i].c_prev.entries) / duration;
+                               delta = servers[i].c_curr.entries - servers[i].c_prev.entries;
+                               rate = delta / duration;
                                printf("%10.2f ", rate);
                        }
                        for ( j = 0; j<SLAP_OP_LAST; j++ ) {
-                               rate = (servers[i].c_curr.ops[j] - servers[i].c_prev.ops[j]) / duration;
+                               delta = servers[i].c_curr.ops[j] - servers[i].c_prev.ops[j];
+                               rate = delta / duration;
                                printf("%10.2f ", rate);
                        }
                        printf("\n");
@@ -594,6 +597,7 @@ main( int argc, char **argv )
        }
 
        tester_config_finish( config );
+       signal(SIGPIPE, SIG_IGN);
 
        /* don't clear the screen if debug is enabled */
        if (debug)