Give more useful log messages when the tor process closes dns/cpuworker connections. "Error: Success!" makes us seem like crazy people."

svn:r3373
This commit is contained in:
Nick Mathewson 2005-01-19 21:34:42 +00:00
parent 75d83827e0
commit e0bf597665
2 changed files with 16 additions and 5 deletions

View File

@ -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);

View File

@ -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();
}