We got an obscure report of an assert error on a windows Tor server with

connection_add being called with socket = -1. The only places I can see
where that happen would be if our tor_socketpair succeeds but it hands
back negative values for some of its file descriptors. Perhaps this will
produce more useful assert errors next time.


svn:r6550
This commit is contained in:
Roger Dingledine 2006-06-06 00:06:52 +00:00
parent 411f37d534
commit 5c57348acd
3 changed files with 9 additions and 0 deletions

View File

@ -1398,6 +1398,9 @@ connection_ap_make_bridge(char *address, uint16_t port)
return -1; return -1;
} }
tor_assert(fd[0] >= 0);
tor_assert(fd[1] >= 0);
set_socket_nonblocking(fd[0]); set_socket_nonblocking(fd[0]);
set_socket_nonblocking(fd[1]); set_socket_nonblocking(fd[1]);

View File

@ -329,6 +329,9 @@ spawn_cpuworker(void)
return -1; return -1;
} }
tor_assert(fdarray[0] >= 0);
tor_assert(fdarray[1] >= 0);
fd = fdarray[0]; fd = fdarray[0];
spawn_func(cpuworker_main, (void*)fdarray); spawn_func(cpuworker_main, (void*)fdarray);
log_debug(LD_OR,"just spawned a cpu worker."); log_debug(LD_OR,"just spawned a cpu worker.");

View File

@ -941,6 +941,9 @@ spawn_dnsworker(void)
return -1; return -1;
} }
tor_assert(fdarray[0] >= 0);
tor_assert(fdarray[1] >= 0);
/* log_fn(LOG_NOTICE,"Before spawn: fdarray @%d has %d:%d", /* log_fn(LOG_NOTICE,"Before spawn: fdarray @%d has %d:%d",
(int)fdarray, fdarray[0],fdarray[1]); */ (int)fdarray, fdarray[0],fdarray[1]); */