From 5c57348acdfe97593da260ca98dd88ab4727f2df Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Tue, 6 Jun 2006 00:06:52 +0000 Subject: [PATCH] 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 --- src/or/connection_edge.c | 3 +++ src/or/cpuworker.c | 3 +++ src/or/dns.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 8950137c20..2b497b3529 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -1398,6 +1398,9 @@ connection_ap_make_bridge(char *address, uint16_t port) return -1; } + tor_assert(fd[0] >= 0); + tor_assert(fd[1] >= 0); + set_socket_nonblocking(fd[0]); set_socket_nonblocking(fd[1]); diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index badca3563e..29fd992f62 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -329,6 +329,9 @@ spawn_cpuworker(void) return -1; } + tor_assert(fdarray[0] >= 0); + tor_assert(fdarray[1] >= 0); + fd = fdarray[0]; spawn_func(cpuworker_main, (void*)fdarray); log_debug(LD_OR,"just spawned a cpu worker."); diff --git a/src/or/dns.c b/src/or/dns.c index 79b4acceda..2d3d800c29 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -941,6 +941,9 @@ spawn_dnsworker(void) return -1; } + tor_assert(fdarray[0] >= 0); + tor_assert(fdarray[1] >= 0); + /* log_fn(LOG_NOTICE,"Before spawn: fdarray @%d has %d:%d", (int)fdarray, fdarray[0],fdarray[1]); */