From: Nick Mathewson Date: Wed, 19 Jan 2005 21:34:42 +0000 (+0000) Subject: Give more useful log messages when the tor process closes dns/cpuworker connections... X-Git-Tag: tor-0.1.0.1-rc~448 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e0bf5976658ea76cd8b61d67f957b3c4f68e9108;p=thirdparty%2Ftor.git Give more useful log messages when the tor process closes dns/cpuworker connections. "Error: Success!" makes us seem like crazy people." svn:r3373 --- diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index 6222300312..4ca69c2293 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -220,10 +220,16 @@ static int cpuworker_main(void *data) { dup_onion_keys(&onion_key, &last_onion_key); for (;;) { + int r; - if (recv(fd, &question_type, 1, 0) != 1) { + if ((r = recv(fd, &question_type, 1, 0)) != 1) { // log_fn(LOG_ERR,"read type failed. Exiting."); - log_fn(LOG_INFO,"cpuworker exiting because tor process closed connection (either rotated keys or died)."); + if (r == 0) { + log_fn(LOG_INFO,"CPU worker exiting because Tor process closed connection (either rotated keys or died)."); + } else { + log_fn(LOG_INFO,"CPU worker editing because of error on connection To Tor process."); + log_fn(LOG_INFO,"(Error on %d was %s)", fd, tor_socket_strerror(tor_socket_errno(fd))); + } goto end; } tor_assert(question_type == CPUWORKER_TASK_ONION); diff --git a/src/or/dns.c b/src/or/dns.c index e70b277c36..dfa6876d91 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -673,10 +673,15 @@ static int dnsworker_main(void *data) { tor_free(data); for (;;) { + int r; - if (recv(fd, &address_len, 1, 0) != 1) { - log_fn(LOG_INFO,"dnsworker exiting because tor process closed connection (either pruned idle dnsworker or died)."); - log_fn(LOG_INFO,"Error on %d was %s", fd, tor_socket_strerror(tor_socket_errno(fd))); + if ((r = recv(fd, &address_len, 1, 0)) != 1) { + if (r == 0) { + log_fn(LOG_INFO,"DNS worker exiting because Tor process closed connection (either pruned idle dnsworker or died)."); + } else { + log_fn(LOG_INFO,"DNS worker exiting because of error on connection to Tor process."); + log_fn(LOG_INFO,"(Error on %d was %s)", fd, tor_socket_strerror(tor_socket_errno(fd))); + } spawn_exit(); }