static void end () { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down\n"); if (die_task != GNUNET_SCHEDULER_NO_TASK) { GNUNET_SCHEDULER_cancel (die_task); die_task = GNUNET_SCHEDULER_NO_TASK; } if (NULL != atsh) GNUNET_ATS_scheduling_done (atsh); if (phal != NULL) GNUNET_ATS_performance_list_addresses_cancel (phal); phal = NULL; if (ph != NULL) GNUNET_ATS_performance_done (ph); ph = NULL; GNUNET_free_non_null (p0_addresses[0].addr); GNUNET_free_non_null (p0_addresses[1].addr); GNUNET_free_non_null (p1_addresses[0].addr); GNUNET_free_non_null (p1_addresses[1].addr); ret = 0; }
static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { die_task = GNUNET_SCHEDULER_NO_TASK; if (sched_ats != NULL) GNUNET_ATS_scheduling_done (sched_ats); if (perf_ats != NULL) GNUNET_ATS_performance_done (perf_ats); free_test_address (&test_addr[0]); ret = GNUNET_SYSERR; }
static void end () { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down\n"); if (die_task != GNUNET_SCHEDULER_NO_TASK) { GNUNET_SCHEDULER_cancel (die_task); die_task = GNUNET_SCHEDULER_NO_TASK; } GNUNET_ATS_performance_done (perf_ats); perf_ats = NULL; GNUNET_ATS_scheduling_done (sched_ats); sched_ats = NULL; free_test_address (&test_addr[0]); }
/** * Task run to terminate the testcase. * * @param cls NULL * @param tc unused */ static void end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { if (0 != ret) GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Test failed at stage %u %s\n", off, (NULL != test_commands[off].label) ? test_commands[off].label : ""); if (NULL != interpreter_task) { GNUNET_SCHEDULER_cancel (interpreter_task); interpreter_task = NULL; } if (NULL != sched_ats) { GNUNET_ATS_scheduling_done (sched_ats); sched_ats = NULL; } if (NULL != con_ats) { GNUNET_ATS_connectivity_done (con_ats); con_ats = NULL; } if (NULL != perf_ats) { GNUNET_ATS_performance_done (perf_ats); perf_ats = NULL; } if (NULL != p2asd) { GNUNET_CONTAINER_multipeermap_iterate (p2asd, &free_asd, NULL); GNUNET_CONTAINER_multipeermap_destroy (p2asd); p2asd = NULL; } if (NULL != p2aid) { GNUNET_CONTAINER_multipeermap_iterate (p2aid, &free_aid, NULL); GNUNET_CONTAINER_multipeermap_destroy (p2aid); p2aid = NULL; } }
/** * Shutdown * * @param cls NULL * @param tc task context from scheduler * @return */ static void do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { shutdown_task = GNUNET_SCHEDULER_NO_TASK; GNUNET_ATS_performance_done (ats); ats = NULL; if (NULL != stmt_insert) { sqlite3_finalize (stmt_insert); stmt_insert = NULL; } GNUNET_break (SQLITE_OK == sqlite3_close (db)); db = NULL; if (NULL != map) { GNUNET_assert (GNUNET_SYSERR != GNUNET_CONTAINER_multipeermap_iterate (map, free_iterator, NULL)); GNUNET_CONTAINER_multipeermap_destroy (map); map = NULL; } }
static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { die_task = GNUNET_SCHEDULER_NO_TASK; GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Timeout in stage %u\n", stage); if (NULL != atsh) GNUNET_ATS_scheduling_done (atsh); if (phal != NULL) GNUNET_ATS_performance_list_addresses_cancel (phal); phal = NULL; if (ph != NULL) GNUNET_ATS_performance_done (ph); ph = NULL; GNUNET_free_non_null (p0_addresses[0].addr); GNUNET_free_non_null (p0_addresses[1].addr); GNUNET_free_non_null (p1_addresses[0].addr); GNUNET_free_non_null (p1_addresses[1].addr); ret = GNUNET_SYSERR; }
static void end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Shutting down\n"); if (die_task != GNUNET_SCHEDULER_NO_TASK ) { GNUNET_SCHEDULER_cancel (die_task); die_task = GNUNET_SCHEDULER_NO_TASK; } if (NULL != sched_ats) { GNUNET_ATS_scheduling_done (sched_ats); sched_ats = NULL; } if (NULL != perf_ats) { GNUNET_ATS_performance_done (perf_ats); perf_ats = NULL; } GNUNET_STATISTICS_watch_cancel (stats, "ats", "# addresses", &stat_cb, NULL); if (NULL != stats) { GNUNET_STATISTICS_destroy (stats, GNUNET_NO); stats = NULL; } GNUNET_free_non_null(p0_addresses[0].addr); GNUNET_free_non_null(p0_addresses[1].addr); GNUNET_free_non_null(p1_addresses[0].addr); GNUNET_free_non_null(p1_addresses[1].addr); ret = 0; }
void end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { struct PendingResolutions * pr; struct PendingResolutions * next; unsigned int pending; if (NULL != alh) { GNUNET_ATS_performance_list_addresses_cancel (alh); alh = NULL; } if (NULL != ph) { GNUNET_ATS_performance_done (ph); ph = NULL; } pending = 0; next = head; while (NULL != (pr = next)) { next = pr->next; GNUNET_CONTAINER_DLL_remove (head, tail, pr); GNUNET_TRANSPORT_address_to_string_cancel (pr->tats_ctx); GNUNET_free (pr->address); GNUNET_free (pr); pending ++; } if (0 < pending) fprintf (stderr, _("%u address resolutions had a timeout\n"), pending); fprintf (stderr, _("ATS returned results for %u addresses\n"), results); ret = 0; }