/**
* Task run upon shutdown interrupts
*/
- struct GNUNET_SCHEDULER_Task * interrupt_task;
+ struct GNUNET_SCHEDULER_Task *interrupt_task;
/**
* The event mask for the controller
* Task run upon interrupts (SIGINT, SIGTERM) and upon scheduler shutdown.
*
* @param cls the RunContext which has to be acted upon
- * @param tc the scheduler task context
*/
static void
-interrupt (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+interrupt (void *cls)
{
struct GNUNET_TESTBED_RunHandle *rc = cls;
struct GNUNET_TESTBED_Controller *c = rc->c;
unsigned int size;
/* reschedule */
- rc->interrupt_task = GNUNET_SCHEDULER_add_delayed
- (GNUNET_TIME_UNIT_FOREVER_REL, &interrupt, rc);
+ rc->interrupt_task = GNUNET_SCHEDULER_add_shutdown (&interrupt, rc);
rc_cleanup_operations (rc);
if ( (GNUNET_NO == rc->shutdown) &&
(NULL != c) &&
* Task for starting peers
*
* @param cls the RunHandle
- * @param tc the task context from scheduler
*/
static void
-start_peers_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+start_peers_task (void *cls)
{
struct GNUNET_TESTBED_RunHandle *rc = cls;
struct RunContextOperation *rcop;
* Task to register all hosts available in the global host list
*
* @param cls the RunContext
- * @param tc the scheduler task context
*/
static void
-register_hosts (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc);
+register_hosts (void *cls);
/**
GNUNET_SCHEDULER_shutdown ();
return;
}
- rc->register_hosts_task = GNUNET_SCHEDULER_add_now (®ister_hosts, rc);
+ rc->register_hosts_task = GNUNET_SCHEDULER_add_now (®ister_hosts,
+ rc);
}
* Task to register all hosts available in the global host list
*
* @param cls RunContext
- * @param tc the scheduler task context
*/
static void
-register_hosts (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+register_hosts (void *cls)
{
struct GNUNET_TESTBED_RunHandle *rc = cls;
struct RunContextOperation *rcop;
old_hosts = rc->hosts;
rc->hosts =
GNUNET_malloc (sizeof (struct GNUNET_TESTBED_Host *) * rc->num_hosts);
- memcpy (rc->hosts, &old_hosts[1],
+ GNUNET_memcpy (rc->hosts, &old_hosts[1],
(sizeof (struct GNUNET_TESTBED_Host *) * rc->num_hosts));
GNUNET_free (old_hosts);
}
* Task run upon timeout while setting up the testbed
*
* @param cls the RunContext
- * @param tc the task context
*/
static void
-timeout_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+timeout_task (void *cls)
{
struct GNUNET_TESTBED_RunHandle *rc = cls;
rc->timeout_task = NULL;
- LOG (GNUNET_ERROR_TYPE_ERROR, _("Shutting down testbed due to timeout while setup.\n"));
+ LOG (GNUNET_ERROR_TYPE_ERROR,
+ _("Shutting down testbed due to timeout while setup.\n"));
GNUNET_SCHEDULER_shutdown ();
if (NULL != rc->test_master)
rc->test_master (rc->test_master_cls, rc, 0, NULL, 0, 0);
goto error_cleanup;
}
goto warn_ignore;
+ case GNUNET_TESTBED_TOPOLOGY_OPTION_END:
+ /* not allowed! */
+ GNUNET_assert (0);
default:
warn_ignore:
/* Warn if OVERLAY_RANDOM_LINKS is present that it will be ignored */
}
rc->rcop_map = GNUNET_CONTAINER_multihashmap32_create (256);
rc->timeout_task =
- GNUNET_SCHEDULER_add_delayed (timeout, &timeout_task, rc);
+ GNUNET_SCHEDULER_add_delayed (timeout, &timeout_task, rc);
+ GNUNET_assert (NULL == rc->interrupt_task);
rc->interrupt_task =
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &interrupt,
- rc);
+ GNUNET_SCHEDULER_add_shutdown (&interrupt,
+ rc);
return;
error_cleanup: