gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r25812 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r25812 - gnunet/src/transport
Date: Thu, 17 Jan 2013 13:25:33 +0100

Author: wachs
Date: 2013-01-17 13:25:33 +0100 (Thu, 17 Jan 2013)
New Revision: 25812

Modified:
   gnunet/src/transport/gnunet-transport.c
Log:
timeout for address listing

Modified: gnunet/src/transport/gnunet-transport.c
===================================================================
--- gnunet/src/transport/gnunet-transport.c     2013-01-17 11:09:19 UTC (rev 
25811)
+++ gnunet/src/transport/gnunet-transport.c     2013-01-17 12:25:33 UTC (rev 
25812)
@@ -280,7 +280,8 @@
                const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   op_timeout = GNUNET_SCHEDULER_NO_TASK;
-  if ((try_connect) || (benchmark_send) || (benchmark_receive))
+  if ((try_connect) || (benchmark_send) ||
+               (benchmark_receive))
   {
       FPRINTF (stdout, _("Failed to connect to `%s'\n"), GNUNET_h2s_full 
(&pid.hashPubKey));
       if (GNUNET_SCHEDULER_NO_TASK != end)
@@ -289,6 +290,16 @@
       ret = 1;
       return;
   }
+  if (iterate_connections)
+  {
+      FPRINTF (stdout, _("Failed to list connections, timeout occured\n"));
+      if (GNUNET_SCHEDULER_NO_TASK != end)
+        GNUNET_SCHEDULER_cancel (end);
+      end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+      ret = 1;
+      return;
+  }
+
 }
 
 
@@ -661,7 +672,15 @@
     if ((0 == address_resolutions) && (iterate_connections))
     {
         if (GNUNET_SCHEDULER_NO_TASK != end)
+        {
           GNUNET_SCHEDULER_cancel (end);
+          end = GNUNET_SCHEDULER_NO_TASK;
+        }
+        if (GNUNET_SCHEDULER_NO_TASK != op_timeout)
+        {
+               GNUNET_SCHEDULER_cancel (op_timeout);
+               op_timeout = GNUNET_SCHEDULER_NO_TASK;
+        }
         ret = 0;
         end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
     }
@@ -695,6 +714,11 @@
     return;
   }
 
+  if (GNUNET_SCHEDULER_NO_TASK != op_timeout)
+       GNUNET_SCHEDULER_cancel (op_timeout);
+  op_timeout = GNUNET_SCHEDULER_add_delayed (OP_TIMEOUT,
+                                             &operation_timeout, NULL);
+
   rc = GNUNET_malloc(sizeof (struct ResolutionContext));
   rc->addrcp = GNUNET_HELLO_address_copy(address);
   rc->printed = GNUNET_NO;
@@ -852,6 +876,8 @@
                                                 GNUNET_YES,
                                                 TIMEOUT,
                                                 &process_address, (void *) 
cfg);
+    op_timeout = GNUNET_SCHEDULER_add_delayed (OP_TIMEOUT,
+                                               &operation_timeout, NULL);
   }
   else if (monitor_connections) /* -m: List all active addresses continously */
   {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]