diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2013-04-15 12:04:27 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2013-04-15 12:04:27 +0000 |
commit | 2d1d94da00e8aa28c9db86462daf80ab58a3a660 (patch) | |
tree | ca933cdf127c671414789dd11da570c1050adaa8 /src/testbed/testbed_api_hosts.c | |
parent | 9122bceef097dd520e236d04d086d2bd061cc6f9 (diff) | |
download | gnunet-2d1d94da00e8aa28c9db86462daf80ab58a3a660.tar.gz gnunet-2d1d94da00e8aa28c9db86462daf80ab58a3a660.zip |
- fixes
Diffstat (limited to 'src/testbed/testbed_api_hosts.c')
-rw-r--r-- | src/testbed/testbed_api_hosts.c | 32 |
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 | */ | ||
814 | void | ||
815 | GNUNET_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); |