static void cb_destroy (gpointer data) { SoupServer *server = data; soup_server_quit(server); g_object_unref(server); }
static void prv_host_server_delete(gpointer host_server) { dlr_host_server_t *server = host_server; if (server) { soup_server_quit(server->soup_server); g_object_unref(server->soup_server); g_hash_table_unref(server->files); g_free(server); } }
static void test_server_shutdown (void) { g_object_add_weak_pointer (G_OBJECT (test_server), (gpointer *)&test_server); if (server_thread) { soup_add_completion (soup_server_get_async_context (test_server), idle_quit_server, test_server); g_thread_join (server_thread); } else soup_server_quit (test_server); g_object_unref (test_server); if (test_server) { errors++; debug_printf (1, "leaked SoupServer!\n"); g_object_remove_weak_pointer (G_OBJECT (test_server), (gpointer *)&test_server); } }
void soup_test_server_quit_unref (SoupServer *server) { GThread *thread; g_object_add_weak_pointer (G_OBJECT (server), (gpointer *)&server); thread = g_object_get_data (G_OBJECT (server), "thread"); if (thread) { soup_add_completion (soup_server_get_async_context (server), idle_quit_server, server); g_thread_join (thread); } else soup_server_quit (server); g_object_unref (server); if (server) { errors++; debug_printf (1, "leaked SoupServer!\n"); g_object_remove_weak_pointer (G_OBJECT (server), (gpointer *)&server); } }
static gboolean idle_quit_server (gpointer server) { soup_server_quit (server); return FALSE; }
void web_teardown (WebFixture *fix, gconstpointer data) { soup_server_quit (fix->server); g_object_unref (fix->server); }