fixed clientwr bug when receiving new request while not waiting for one
authorvenaas <venaas>
Thu, 15 Feb 2007 12:36:05 +0000 (12:36 +0000)
committervenaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf>
Thu, 15 Feb 2007 12:36:05 +0000 (12:36 +0000)
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@59 e88ac4ed-0b26-0410-9574-a7f39faa03bf

radsecproxy.c

index c2c2368..59d207a 100644 (file)
@@ -1290,15 +1290,14 @@ void *clientwr(void *arg) {
                printf("clientwr: waiting for new request\n");
                pthread_cond_wait(&server->newrq_cond, &server->newrq_mutex);
            }
-           if (server->newrq) {
-               printf("clientwr: got new request\n");
-               server->newrq = 0;
-           }
-       } else
+       }
+       if (server->newrq) {
+           printf("clientwr: got new request\n");
            server->newrq = 0;
+       } else
+           printf("clientwr: request timer expired, processing request queue\n");
        pthread_mutex_unlock(&server->newrq_mutex);
 
-       printf("clientwr: processing request queue\n");
        for (i = 0; i < MAX_REQUESTS; i++) {
            pthread_mutex_lock(&server->newrq_mutex);
            while (!server->requests[i].buf && i < MAX_REQUESTS)