+ {
+ if (NULL == GST_slave_list[id])
+ continue;
+ while (NULL != (hr_entry = GST_slave_list[id]->hr_dll_head))
+ {
+ GNUNET_CONTAINER_DLL_remove (GST_slave_list[id]->hr_dll_head,
+ GST_slave_list[id]->hr_dll_tail, hr_entry);
+ GNUNET_free (hr_entry);
+ }
+ if (NULL != GST_slave_list[id]->rhandle)
+ GNUNET_TESTBED_cancel_registration (GST_slave_list[id]->rhandle);
+ (void)
+ GNUNET_CONTAINER_multihashmap_iterate (GST_slave_list
+ [id]->reghost_map,
+ reghost_free_iterator,
+ GST_slave_list[id]);
+ GNUNET_CONTAINER_multihashmap_destroy (GST_slave_list[id]->reghost_map);
+ if (NULL != GST_slave_list[id]->controller)
+ GNUNET_TESTBED_controller_disconnect (GST_slave_list[id]->controller);
+ if (NULL != (cproc = GST_slave_list[id]->controller_proc))
+ {
+ LOG_DEBUG ("Stopping a slave\n");
+ GNUNET_TESTBED_controller_kill_ (cproc);
+ }
+ }
+ for (id = 0; id < GST_slave_list_size; id++)
+ {
+ if (NULL == GST_slave_list[id])
+ continue;
+ if (NULL != (cproc = GST_slave_list[id]->controller_proc))