}
+static void
+unload_task (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ struct GNUNET_CONFIGURATION_Handle *cfg = cls;
+ unload_plugins (NULL, cfg);
+}
+
+
static GNUNET_SCHEDULER_TaskIdentifier validation_timeout_task;
/* Sailor: if this is the last test, calling this function
here will end the process. */
ok = 0; /* if the last test succeeded, report success */
- unload_plugins (NULL, cfg);
+ GNUNET_SCHEDULER_add_continuation (sched,
+ &unload_task,
+ (void*) cfg,
+ GNUNET_SCHEDULER_REASON_PREREQ_DONE);
}
* work for other plugins; we should ask
* the plugin about its address instead...).
*/
+/* FIXME: won't work on IPv6 enabled systems where IPv4 bridge
+ * mode isn't enabled (eg. FreeBSD > 4)
+ */
static void
test_validation ()
{
/* add job to catch failure (timeout) */
validation_timeout_task =
GNUNET_SCHEDULER_add_delayed (sched,
- GNUNET_NO,
- GNUNET_SCHEDULER_PRIORITY_KEEP,
- GNUNET_SCHEDULER_NO_TASK,
TIMEOUT,
&validation_failed,
NULL);
GNUNET_asprintf (&libname, "libgnunet_plugin_transport_tcp");
api = GNUNET_PLUGIN_load(libname, &env);
+ GNUNET_free (libname);
if (api == NULL)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,