aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/testbed_api_hosts.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2013-04-15 12:04:27 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2013-04-15 12:04:27 +0000
commit2d1d94da00e8aa28c9db86462daf80ab58a3a660 (patch)
treeca933cdf127c671414789dd11da570c1050adaa8 /src/testbed/testbed_api_hosts.c
parent9122bceef097dd520e236d04d086d2bd061cc6f9 (diff)
downloadgnunet-2d1d94da00e8aa28c9db86462daf80ab58a3a660.tar.gz
gnunet-2d1d94da00e8aa28c9db86462daf80ab58a3a660.zip
- fixes
Diffstat (limited to 'src/testbed/testbed_api_hosts.c')
-rw-r--r--src/testbed/testbed_api_hosts.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/testbed/testbed_api_hosts.c b/src/testbed/testbed_api_hosts.c
index e5b6d0a0b..0774c023e 100644
--- a/src/testbed/testbed_api_hosts.c
+++ b/src/testbed/testbed_api_hosts.c
@@ -806,6 +806,32 @@ GNUNET_TESTBED_mark_host_registered_at_ (struct GNUNET_TESTBED_Host *host,
806 806
807 807
808/** 808/**
809 * Unmarks a host registered at a controller
810 *
811 * @param host the host to unmark
812 * @param controller the controller at which this host has to be unmarked
813 */
814void
815GNUNET_TESTBED_deregister_host_at_ (struct GNUNET_TESTBED_Host *host,
816 const struct GNUNET_TESTBED_Controller
817 *const controller)
818{
819 struct RegisteredController *rc;
820
821 for (rc = host->rc_head; NULL != rc; rc=rc->next)
822 if (controller == rc->controller)
823 break;
824 if (NULL == rc)
825 {
826 GNUNET_break (0);
827 return;
828 }
829 GNUNET_CONTAINER_DLL_remove (host->rc_head, host->rc_tail, rc);
830 GNUNET_free (rc);
831}
832
833
834/**
809 * Checks whether a host has been registered 835 * Checks whether a host has been registered
810 * 836 *
811 * @param host the host to check 837 * @param host the host to check
@@ -1353,6 +1379,7 @@ call_cb:
1353 cb = h->cb; 1379 cb = h->cb;
1354 cb_cls = h->cb_cls; 1380 cb_cls = h->cb_cls;
1355 host = h->host; 1381 host = h->host;
1382 free_argv (h->helper_argv);
1356 GNUNET_free (h); 1383 GNUNET_free (h);
1357 if (NULL != cb) 1384 if (NULL != cb)
1358 cb (cb_cls, host, ret); 1385 cb (cb_cls, host, ret);
@@ -1409,10 +1436,11 @@ GNUNET_TESTBED_is_host_habitable (const struct GNUNET_TESTBED_Host *host,
1409 stat_args[0] = "stat"; 1436 stat_args[0] = "stat";
1410 stat_args[2] = NULL; 1437 stat_args[2] = NULL;
1411 rsh_suffix_args = gen_rsh_suffix_args ((const char **) stat_args); 1438 rsh_suffix_args = gen_rsh_suffix_args ((const char **) stat_args);
1439 GNUNET_free (stat_args[1]);
1412 h->helper_argv = join_argv ((const char **) rsh_args, 1440 h->helper_argv = join_argv ((const char **) rsh_args,
1413 (const char **) rsh_suffix_args); 1441 (const char **) rsh_suffix_args);
1414 GNUNET_free (rsh_suffix_args); 1442 free_argv (rsh_suffix_args);
1415 GNUNET_free (rsh_args); 1443 free_argv (rsh_args);
1416 h->auxp = 1444 h->auxp =
1417 GNUNET_OS_start_process_vap (GNUNET_NO, GNUNET_OS_INHERIT_STD_ERR, NULL, 1445 GNUNET_OS_start_process_vap (GNUNET_NO, GNUNET_OS_INHERIT_STD_ERR, NULL,
1418 NULL, h->helper_argv[0], h->helper_argv); 1446 NULL, h->helper_argv[0], h->helper_argv);