there was no need to die when we failed to spawn a cpuworker.

it handles it fine if we decide not to die.


svn:r5114
This commit is contained in:
Roger Dingledine 2005-09-23 00:04:44 +00:00
parent 479886fce2
commit e286c4267e

View File

@ -293,7 +293,7 @@ cpuworker_main(void *data)
return 0; /* windows wants this function to return an int */ return 0; /* windows wants this function to return an int */
} }
/** Launch a new cpuworker. /** Launch a new cpuworker. Return 0 if we're happy, -1 if we failed.
*/ */
static int static int
spawn_cpuworker(void) spawn_cpuworker(void)
@ -305,10 +305,9 @@ spawn_cpuworker(void)
fdarray = tor_malloc(sizeof(int)*2); fdarray = tor_malloc(sizeof(int)*2);
if ((err = tor_socketpair(AF_UNIX, SOCK_STREAM, 0, fdarray)) < 0) { if ((err = tor_socketpair(AF_UNIX, SOCK_STREAM, 0, fdarray)) < 0) {
log(LOG_ERR, "Couldn't construct socketpair: %s", tor_socket_strerror(-err)); log(LOG_WARN, "Couldn't construct socketpair: %s", tor_socket_strerror(-err));
tor_cleanup();
tor_free(fdarray); tor_free(fdarray);
exit(1); return -1;
} }
fd = fdarray[0]; fd = fdarray[0];
@ -354,7 +353,7 @@ spawn_enough_cpuworkers(void)
while (num_cpuworkers < num_cpuworkers_needed) { while (num_cpuworkers < num_cpuworkers_needed) {
if (spawn_cpuworker() < 0) { if (spawn_cpuworker() < 0) {
log_fn(LOG_WARN,"spawn failed!"); log_fn(LOG_WARN,"Spawn failed. Will try again later.");
return; return;
} }
num_cpuworkers++; num_cpuworkers++;