gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r26888 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r26888 - gnunet/src/testbed
Date: Mon, 15 Apr 2013 14:04:27 +0200

Author: harsha
Date: 2013-04-15 14:04:27 +0200 (Mon, 15 Apr 2013)
New Revision: 26888

Modified:
   gnunet/src/testbed/test_testbed_api_controllerlink.c
   gnunet/src/testbed/test_testbed_api_statistics.c
   gnunet/src/testbed/testbed_api.c
   gnunet/src/testbed/testbed_api.h
   gnunet/src/testbed/testbed_api_hosts.c
   gnunet/src/testbed/testbed_api_hosts.h
Log:
- fixes


Modified: gnunet/src/testbed/test_testbed_api_controllerlink.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_controllerlink.c        2013-04-15 
09:39:44 UTC (rev 26887)
+++ gnunet/src/testbed/test_testbed_api_controllerlink.c        2013-04-15 
12:04:27 UTC (rev 26888)
@@ -299,6 +299,10 @@
   }
   if (NULL != hc_handle)
     GNUNET_TESTBED_is_host_habitable_cancel (hc_handle);
+  if (NULL != mc)
+    GNUNET_TESTBED_controller_disconnect (mc);
+  if (NULL != cp)
+    GNUNET_TESTBED_controller_stop (cp);
   if (NULL != slave3)
     GNUNET_TESTBED_host_destroy (slave3);
   if (NULL != slave2)
@@ -307,14 +311,10 @@
     GNUNET_TESTBED_host_destroy (slave);
   if (NULL != host)
     GNUNET_TESTBED_host_destroy (host);
-  if (NULL != mc)
-    GNUNET_TESTBED_controller_disconnect (mc);
   if (NULL != cfg)
     GNUNET_CONFIGURATION_destroy (cfg);
   if (NULL != cfg3)
     GNUNET_CONFIGURATION_destroy (cfg3);
-  if (NULL != cp)
-    GNUNET_TESTBED_controller_stop (cp);
   if (NULL != rh)
     GNUNET_TESTBED_cancel_registration (rh);
 }

Modified: gnunet/src/testbed/test_testbed_api_statistics.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_statistics.c    2013-04-15 09:39:44 UTC 
(rev 26887)
+++ gnunet/src/testbed/test_testbed_api_statistics.c    2013-04-15 12:04:27 UTC 
(rev 26888)
@@ -142,7 +142,7 @@
   GNUNET_TESTBED_operation_done (op);
   op = NULL;
   GNUNET_SCHEDULER_cancel (abort_task);
-  GNUNET_SCHEDULER_shutdown ();
+  GNUNET_SCHEDULER_shutdown ();  
 }
 
 

Modified: gnunet/src/testbed/testbed_api.c
===================================================================
--- gnunet/src/testbed/testbed_api.c    2013-04-15 09:39:44 UTC (rev 26887)
+++ gnunet/src/testbed/testbed_api.c    2013-04-15 12:04:27 UTC (rev 26888)
@@ -1335,7 +1335,7 @@
  *
  * @param host host to run the controller on; This should be the same host if
  *          the controller was previously started with
- *          GNUNET_TESTBED_controller_start; NULL for localhost
+ *          GNUNET_TESTBED_controller_start()
  * @param event_mask bit mask with set of events to call 'cc' for;
  *                   or-ed values of "1LL" shifted by the
  *                   respective 'enum GNUNET_TESTBED_EventType'
@@ -1394,22 +1394,6 @@
     GNUNET_TESTBED_controller_disconnect (controller);
     return NULL;
   }
-  if (NULL == host)
-  {
-    host = GNUNET_TESTBED_host_create_by_id_ (0, controller->cfg);
-    if (NULL == host)           /* If the above host create fails */
-    {
-      LOG (GNUNET_ERROR_TYPE_WARNING,
-           "Treating NULL host as localhost. Multiple references to localhost "
-           "may break when localhost freed before calling disconnect \n");
-      host = GNUNET_TESTBED_host_lookup_by_id_ (0);
-    }
-    else
-    {
-      controller->aux_host = GNUNET_YES;
-    }
-  }
-  GNUNET_assert (NULL != host);
   GNUNET_TESTBED_mark_host_registered_at_ (host, controller);
   controller->host = host;
   controller->opq_parallel_operations =
@@ -1503,9 +1487,9 @@
   }
   if (NULL != controller->client)
     GNUNET_CLIENT_disconnect (controller->client);
+  if (NULL != controller->host)
+    GNUNET_TESTBED_deregister_host_at_ (controller->host, controller);
   GNUNET_CONFIGURATION_destroy (controller->cfg);
-  if (GNUNET_YES == controller->aux_host)
-    GNUNET_TESTBED_host_destroy (controller->host);
   GNUNET_TESTBED_operation_queue_destroy_ 
(controller->opq_parallel_operations);
   GNUNET_TESTBED_operation_queue_destroy_
       (controller->opq_parallel_service_connections);

Modified: gnunet/src/testbed/testbed_api.h
===================================================================
--- gnunet/src/testbed/testbed_api.h    2013-04-15 09:39:44 UTC (rev 26887)
+++ gnunet/src/testbed/testbed_api.h    2013-04-15 12:04:27 UTC (rev 26888)
@@ -275,11 +275,6 @@
   int in_receive;
 
   /**
-   * Did we create the host for this?
-   */
-  int aux_host;
-
-  /**
    * The operation id counter. use current value and increment
    */
   uint32_t operation_counter;

Modified: gnunet/src/testbed/testbed_api_hosts.c
===================================================================
--- gnunet/src/testbed/testbed_api_hosts.c      2013-04-15 09:39:44 UTC (rev 
26887)
+++ gnunet/src/testbed/testbed_api_hosts.c      2013-04-15 12:04:27 UTC (rev 
26888)
@@ -806,6 +806,32 @@
 
 
 /**
+ * Unmarks a host registered at a controller
+ *
+ * @param host the host to unmark
+ * @param controller the controller at which this host has to be unmarked
+ */
+void
+GNUNET_TESTBED_deregister_host_at_ (struct GNUNET_TESTBED_Host *host,
+                                    const struct GNUNET_TESTBED_Controller
+                                    *const controller)
+{
+  struct RegisteredController *rc;
+
+  for (rc = host->rc_head; NULL != rc; rc=rc->next)
+    if (controller == rc->controller)
+      break;
+  if (NULL == rc)
+  {
+    GNUNET_break (0);
+    return;
+  }
+  GNUNET_CONTAINER_DLL_remove (host->rc_head, host->rc_tail, rc);
+  GNUNET_free (rc);
+}
+
+
+/**
  * Checks whether a host has been registered
  *
  * @param host the host to check
@@ -1353,6 +1379,7 @@
   cb = h->cb;
   cb_cls = h->cb_cls;
   host = h->host;
+  free_argv (h->helper_argv);
   GNUNET_free (h);
   if (NULL != cb)
     cb (cb_cls, host, ret);
@@ -1409,10 +1436,11 @@
   stat_args[0] = "stat";
   stat_args[2] = NULL;
   rsh_suffix_args = gen_rsh_suffix_args ((const char **) stat_args);
+  GNUNET_free (stat_args[1]);
   h->helper_argv = join_argv ((const char **) rsh_args,
                               (const char **) rsh_suffix_args);
-  GNUNET_free (rsh_suffix_args);
-  GNUNET_free (rsh_args);
+  free_argv (rsh_suffix_args);
+  free_argv (rsh_args);
   h->auxp =
       GNUNET_OS_start_process_vap (GNUNET_NO, GNUNET_OS_INHERIT_STD_ERR, NULL,
                                    NULL, h->helper_argv[0], h->helper_argv);

Modified: gnunet/src/testbed/testbed_api_hosts.h
===================================================================
--- gnunet/src/testbed/testbed_api_hosts.h      2013-04-15 09:39:44 UTC (rev 
26887)
+++ gnunet/src/testbed/testbed_api_hosts.h      2013-04-15 12:04:27 UTC (rev 
26888)
@@ -126,6 +126,18 @@
 
 
 /**
+ * Unmarks a host registered at a controller
+ *
+ * @param host the host to unmark
+ * @param controller the controller at which this host has to be unmarked
+ */
+void
+GNUNET_TESTBED_deregister_host_at_ (struct GNUNET_TESTBED_Host *host,
+                                    const struct GNUNET_TESTBED_Controller
+                                    *const controller);
+
+
+/**
  * Checks whether a host has been registered with the given controller
  *
  * @param host the host to check




reply via email to

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