Revert "loadtest: change display"
authorArt Cancro <ajc@citadel.org>
Mon, 16 Oct 2023 16:08:39 +0000 (12:08 -0400)
committerArt Cancro <ajc@citadel.org>
Mon, 16 Oct 2023 16:08:39 +0000 (12:08 -0400)
This reverts commit fdd4f3034903e50395e72acf74636e4cb12c2291.

citadel/utils/loadtest.c

index 5d0e15062a3b510b81c5c62025afdcf490e761b6..2d62d98ac1a7c96759dc0b2cf313d88971315eb4 100644 (file)
@@ -275,19 +275,10 @@ void perform_random_thing(int serv_sock) {
 
 
 // This is the main loop.  We log in as the load test user, and then perform random operations until stopped.
-void *loadtest(void *ptr) {
+void *loadtest(void *blah) {
        char buf[SIZ];
        int serv_sock;
 
-       // Find a nice spot on the screen to show the operation count for this thread.
-       int threadnum;
-       threadnum = (ptr ? (*(int *)ptr) : 0);
-       int row = 10 + (threadnum % 20);
-       int col = (threadnum / 20) * 10;
-       long ops = 0;
-       printf("\033[%d;%dH\033[33m       0\033[0m", row, col);
-       fflush(stdout);
-
        serv_sock = uds_connectsock(file_citadel_socket);
 
        if (serv_sock < 0) {
@@ -307,6 +298,12 @@ void *loadtest(void *ptr) {
        serv_puts(serv_sock, buf);
        serv_gets(serv_sock, buf);
 
+       // Find a nice spot on the screen to show the operation count for this thread.
+       int row = 10 + ((serv_sock-3) % 20);
+       int col = ((serv_sock-3) / 20) * 10;
+       long ops = 0;
+       printf("\033[%d;%dH\033[33m       0\033[0m", row, col);
+       fflush(stdout);
        while(1) {
                perform_random_thing(serv_sock);
                printf("\033[%d;%dH\033[32m%8ld\033[0m", row, col, ++ops);
@@ -374,14 +371,6 @@ int main(int argc, char **argv) {
                exit(errno);
        }
 
-       // set up the screen
-       for (i=0; i<nthreads; ++i) {
-               int row = 10 + (i % 20);
-               int col = (i / 20) * 10;
-               printf("\033[%d;%dH\033[31m--------\033[0m", row, col);
-       }
-       fflush(stdout);
-
        // Generate a random password for load test user.  No one needs this password except us.
        srand(time(NULL)+getpid());
        for (i=0; i<sizeof(test_pass)-1; ++i) {
@@ -401,25 +390,25 @@ int main(int argc, char **argv) {
        setup_accounts(serv_sock);
        close(serv_sock);
 
-       // start up load testing threads
        for (i=0; i<(nthreads-1); ++i) {
+
+               int row = 10 + ((i+1) % 20);
+               int col = ((i+1) / 20) * 10;
+               printf("\033[%d;%dH\033[31m--------\033[0m", row, col);
+               fflush(stdout);
+
                pthread_t thread;
                pthread_attr_t attr;
                int ret = 0;
 
                ret = pthread_attr_init(&attr);
                ret = pthread_attr_setstacksize(&attr, THREADSTACKSIZE);
-               ret = pthread_create(&thread, &attr, loadtest, &i);
+               ret = pthread_create(&thread, &attr, loadtest, NULL);
                if (ret != 0) {
                        exit(ret);
                }
 
        }
-
-       // now the original thread becomes load testing thread 0
        loadtest(NULL);
-
-       // should never get here
        return(0);
-}
-
+}
\ No newline at end of file