]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Give more useful log messages when the tor process closes dns/cpuworker connections...
authorNick Mathewson <nickm@torproject.org>
Wed, 19 Jan 2005 21:34:42 +0000 (21:34 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 19 Jan 2005 21:34:42 +0000 (21:34 +0000)
svn:r3373

src/or/cpuworker.c
src/or/dns.c

index 6222300312738cc333eb3145a047949d59843706..4ca69c229378cdbe523326d873994838b40e4200 100644 (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);
index e70b277c36ba0e65ca319e35058037445c23d667..dfa6876d915ca95ae099b92b6ed5d9ced508c62d 100644 (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();
     }