unsigned int total;
unsigned int peers_left;
unsigned long long max_concurrent_connections;
-
+
/**
* Maximum attemps to connect two daemons.
*/
* How long to spend trying to establish all the connections?
*/
struct GNUNET_TIME_Relative connect_timeout;
-
+
unsigned long long max_concurrent_ssh;
struct GNUNET_TIME_Absolute timeout;
GNUNET_TESTING_NotifyConnection connect_cb;
ret = GNUNET_malloc (sizeof (struct ProgressMeter));
ret->print = print;
ret->total = total;
- ret->modnum = total / 4;
+ ret->modnum = (total / 4 == 0) ? 1 : (total / 4);
ret->dotnum = (total / 50) + 1;
if (start_string != NULL)
ret->startup_string = GNUNET_strdup (start_string);
{
if (meter->completed == 0)
{
- fprintf (stdout, "%sProgress: [0%%", meter->startup_string);
+ FPRINTF (stdout, "%sProgress: [0%%", meter->startup_string);
}
else
- fprintf (stdout, "%d%%",
+ FPRINTF (stdout, "%d%%",
(int) (((float) meter->completed / meter->total) * 100));
}
else if (meter->completed % meter->dotnum == 0)
- fprintf (stdout, ".");
+ FPRINTF (stdout, "%s", ".");
if (meter->completed + 1 == meter->total)
- fprintf (stdout, "%d%%]\n", 100);
+ FPRINTF (stdout, "%d%%]\n", 100);
fflush (stdout);
}
meter->completed++;
}
}
+
+/**
+ * Callback called for each started daemon.
+ *
+ * @param cls Clause (PG Context).
+ * @param id PeerIdentidy of started daemon.
+ * @param cfg Configuration used by the daemon.
+ * @param d Handle for the daemon.
+ * @param emsg Error message, NULL on success.
+ */
static void
internal_peers_started_callback (void *cls,
const struct GNUNET_PeerIdentity *id,
pg_start_ctx->peers_left--;
+ if (NULL == pg_start_ctx->peer_start_meter)
+ {
+ /* Cancelled Ctrl-C or error */
+ return;
+ }
if (GNUNET_YES == update_meter (pg_start_ctx->peer_start_meter))
{
#if VERBOSE
pg_start_ctx->connect_topology,
pg_start_ctx->connect_topology_option,
pg_start_ctx->connect_topology_option_modifier,
- pg_start_ctx->connect_timeout,
+ pg_start_ctx->connect_timeout,
pg_start_ctx->connect_attempts, NULL,
NULL);
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_time (cfg, "testing", "CONNECT_TIMEOUT",
- &pg_start_ctx->connect_timeout))
+ &pg_start_ctx->connect_timeout))
{
- pg_start_ctx->connect_timeout = DEFAULT_CONNECT_TIMEOUT;
+ pg_start_ctx->connect_timeout = DEFAULT_CONNECT_TIMEOUT;
}
if (GNUNET_OK !=
}
if (GNUNET_OK !=
- GNUNET_CONFIGURATION_get_value_time (cfg, "testing",
- "PEERGROUP_TIMEOUT",
- &rtimeout))
+ GNUNET_CONFIGURATION_get_value_time (cfg, "testing", "PEERGROUP_TIMEOUT",
+ &rtimeout))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Must provide option %s:%s!\n",
"testing", "PEERGROUP_TIMEOUT");
GNUNET_free (pg_start_ctx);
return NULL;
}
- pg_start_ctx->timeout =
- GNUNET_TIME_relative_to_absolute (rtimeout);
+ pg_start_ctx->timeout = GNUNET_TIME_relative_to_absolute (rtimeout);
/* Read topology related options from the configuration file */