/*
This file is part of GNUnet.
- Copyright (C) 2011-2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2011-2014 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
*/
static unsigned int address_resolutions;
-/**
- * Address resolutions pending in progress
- */
-static unsigned int address_resolution_in_progress;
-
/**
* DLL for NAT Test Contexts: head
*/
* Stops monitoring activity.
*
* @param cls NULL
- * @param tc scheduler context
*/
static void
-shutdown_task (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
+shutdown_task (void *cls)
{
struct GNUNET_TIME_Relative duration;
struct ValidationResolutionContext *cur;
* We are done, shut down.
*/
static void
-operation_timeout (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
+operation_timeout (void *cls)
{
struct PeerResolutionContext *cur;
struct PeerResolutionContext *next;
FPRINTF (stdout,
_("Failed to connect to `%s'\n"),
GNUNET_i2s_full (&pid));
- if (NULL != end)
- GNUNET_SCHEDULER_cancel (end);
- end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+ GNUNET_SCHEDULER_shutdown ();
ret = 1;
return;
}
FPRINTF (stdout,
"%s",
_("Failed to list connections, timeout occured\n"));
- if (NULL != end)
- GNUNET_SCHEDULER_cancel (end);
- end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+ GNUNET_SCHEDULER_shutdown ();
ret = 1;
return;
}
GNUNET_free (vc);
if ((0 == address_resolutions) && (iterate_validation))
{
- if (NULL != end)
- {
- GNUNET_SCHEDULER_cancel (end);
- end = NULL;
- }
if (NULL != op_timeout)
{
GNUNET_SCHEDULER_cancel (op_timeout);
op_timeout = NULL;
}
ret = 0;
- end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+ GNUNET_SCHEDULER_shutdown ();
}
}
return;
}
vic = NULL;
- if (NULL != end)
- GNUNET_SCHEDULER_cancel (end);
- end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+ GNUNET_SCHEDULER_shutdown ();
return;
}
resolve_validation_address (address,
GNUNET_free (rc);
if ((0 == address_resolutions) && (iterate_connections))
{
- if (NULL != end)
- {
- GNUNET_SCHEDULER_cancel (end);
- end = NULL;
- }
if (NULL != op_timeout)
{
GNUNET_SCHEDULER_cancel (op_timeout);
op_timeout = NULL;
}
ret = 0;
- end = GNUNET_SCHEDULER_add_now (&shutdown_task,
- NULL);
+ GNUNET_SCHEDULER_shutdown ();
}
}
if (NULL == peer)
{
/* done */
- address_resolution_in_progress = GNUNET_NO;
pic = NULL;
- if (NULL != end)
- GNUNET_SCHEDULER_cancel (end);
- end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
return;
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Received address for peer `%s': %s\n",
GNUNET_i2s (peer),
- address->transport_name);
+ address ? address->transport_name : "");
if (NULL != address)
resolve_peer_address (address,
}
else if (iterate_connections) /* -i: List information about peers once */
{
- address_resolution_in_progress = GNUNET_YES;
pic = GNUNET_TRANSPORT_monitor_peers (cfg, (NULL == cpid) ? NULL : &pid,
GNUNET_YES, TIMEOUT, &process_peer_iteration_cb, (void *) cfg);
op_timeout = GNUNET_SCHEDULER_add_delayed (OP_TIMEOUT,
{
monitored_peers = GNUNET_CONTAINER_multipeermap_create (10,
GNUNET_NO);
- address_resolution_in_progress = GNUNET_YES;
pic = GNUNET_TRANSPORT_monitor_peers (cfg,
(NULL == cpid) ? NULL : &pid,
GNUNET_NO,
GNUNET_break(0);
return;
}
-
- end = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
- &shutdown_task,
- NULL);
+
+ GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
+ NULL);
}