Just moved the looping code from main() into thread_main_loop().

This commit is contained in:
Robert James Kaes 2002-04-08 21:35:10 +00:00
parent bf82c863bc
commit 0d66719c5a
3 changed files with 33 additions and 21 deletions

View File

@ -1,3 +1,8 @@
2002-04-08 Robert James Kaes <rjkaes@flarenet.com>
* src/thread.c (thread_main_loop): Moved the looping code into
this function from the main() function. Just a bit of clean up.
2002-04-07 Robert James Kaes <rjkaes@flarenet.com>
* src/hashmap.c:

View File

@ -1,4 +1,4 @@
/* $Id: thread.c,v 1.21 2002-01-25 00:01:45 rjkaes Exp $
/* $Id: thread.c,v 1.22 2002-04-08 21:35:10 rjkaes Exp $
*
* Handles the creation/destruction of the various threads required for
* processing incoming connections.
@ -272,28 +272,37 @@ thread_main_loop(void)
{
int i;
/* If there are not enough spare servers, create more */
SERVER_LOCK();
if (servers_waiting < thread_config.minspareservers) {
SERVER_UNLOCK();
while (1) {
if (config.quit)
return;
for (i = 0; i < thread_config.maxclients; i++) {
if (thread_ptr[i].status == T_EMPTY) {
pthread_create(&thread_ptr[i].tid, &thread_attr,
&thread_main, &thread_ptr[i]);
thread_ptr[i].status = T_WAITING;
thread_ptr[i].connects = 0;
/* If there are not enough spare servers, create more */
SERVER_LOCK();
if (servers_waiting < thread_config.minspareservers) {
SERVER_UNLOCK();
SERVER_INC();
for (i = 0; i < thread_config.maxclients; i++) {
if (thread_ptr[i].status == T_EMPTY) {
pthread_create(&thread_ptr[i].tid,
&thread_attr,
&thread_main,
&thread_ptr[i]);
thread_ptr[i].status = T_WAITING;
thread_ptr[i].connects = 0;
log_message(LOG_NOTICE,
"Waiting servers is less than MinSpareServers. Creating new thread.");
SERVER_INC();
break;
log_message(LOG_NOTICE,
"Waiting servers is less than MinSpareServers. Creating new thread.");
break;
}
}
}
SERVER_UNLOCK();
sleep(5);
}
SERVER_UNLOCK();
}
/*

View File

@ -1,4 +1,4 @@
/* $Id: tinyproxy.c,v 1.23 2002-04-07 21:36:39 rjkaes Exp $
/* $Id: tinyproxy.c,v 1.24 2002-04-08 21:35:10 rjkaes Exp $
*
* The initialise routine. Basically sets up all the initial stuff (logfile,
* listening socket, config options, etc.) and then sits there and loops
@ -426,10 +426,8 @@ main(int argc, char **argv)
* Start the main loop.
*/
log_message(LOG_INFO, "Starting main loop. Accepting connections.");
do {
thread_main_loop();
sleep(1);
} while (!config.quit);
thread_main_loop();
log_message(LOG_INFO, "Shutting down.");