void oio_requri_clear (struct oio_requri_s *uri) { oio_str_clean (&uri->path); oio_str_clean (&uri->query); oio_str_clean (&uri->fragment); g_strfreev(uri->query_tokens); }
static void _element_clean_tag(struct element_s *e) { if (!e) return ; oio_str_clean (&e->tagname); oio_str_clean (&e->tagvalue); }
void sqlx_name_clean (struct sqlx_name_mutable_s *n) { if (!n) return; oio_str_clean(&n->ns); oio_str_clean(&n->base); oio_str_clean(&n->type); }
void cleanup(void) { oio_str_clean (&msg); oio_str_clean (&access); oio_str_clean ((gchar**)&body.data); body.len = 0; if (headers) { g_tree_destroy(headers); headers = NULL; } }
void chunk_textinfo_free_content(struct chunk_textinfo_s *cti) { if (!cti) return; oio_str_clean (&cti->id); oio_str_clean (&cti->size); oio_str_clean (&cti->hash); oio_str_clean (&cti->position); oio_str_clean (&cti->metadata); }
void cleanup(void) { oio_str_clean (&msg); oio_str_clean (&access); if (body) { g_bytes_unref (body); body = NULL; } if (headers) { g_tree_destroy(headers); headers = NULL; } }
static void _local_factory_destroy (struct oio_sqlx_client_factory_s *self) { g_assert (self != NULL); struct oio_sqlx_client_factory_LOCAL_s *s = (struct oio_sqlx_client_factory_LOCAL_s*) self; g_assert (s->vtable == &vtable_factory_LOCAL); oio_str_clean (&s->schema); oio_str_clean (&s->ns); s->vtable = NULL; SLICE_FREE (struct oio_sqlx_client_factory_LOCAL_s, s); }
void meta0_backend_clean(struct meta0_backend_s *m0) { if (!m0) return; oio_str_clean (&m0->ns); oio_str_clean (&m0->id); if (m0->array_by_prefix) meta0_utils_array_clean(m0->array_by_prefix); if (m0->array_meta1_ref) meta0_utils_array_meta1ref_clean(m0->array_meta1_ref); g_rw_lock_clear (&m0->rwlock); g_free(m0); }
static void test_autocontainer (void) { struct oio_str_autocontainer_config_s cfg = { .src_size = 0, .src_offset = 0, .dst_bits = 17 }; guint64 nb0 = 0, nb8 = 0; for (unsigned int i0=0; i0<256 ;i0++) { for (unsigned int i1=0; i1<256 ;i1++) { for (unsigned int i2=0; i2<256 ;i2++) { guint8 bin[] = {i0, i1, i2, 0, 0}; gchar dst[65]; const char *s = oio_str_autocontainer_hash (bin, sizeof(bin), dst, &cfg); g_assert (s != NULL); gchar last = s[strlen(s)-1]; g_assert (last == '0' || last == '8'); if (last == '0') ++nb0; else ++nb8; } } } g_assert (nb0 == nb8); } static void test_clean(void) { gchar *s0 = g_strdup(""); oio_str_clean(&s0); g_assert(NULL == s0); }
static void test_clean(void) { gchar *s0 = g_strdup(""); oio_str_clean(&s0); g_assert(NULL == s0); }
void storage_class_clean(struct storage_class_s *sc) { if (!sc) return; oio_str_clean(&sc->name); g_slist_free_full(sc->fallbacks, g_free); g_free(sc); }
void m2v2_list_result_clean (struct list_result_s *p) { if (!p) return; _bean_cleanl2(p->beans); p->beans = NULL; oio_str_clean(&p->next_marker); p->truncated = FALSE; }
static void test_replace (void) { gchar *s0 = g_strdup ("A"); oio_str_replace (&s0, "B"); g_assert (!strcmp(s0, "B")); oio_str_clean (&s0); g_assert (s0 == NULL); }
static void test_reuse (void) { gchar *s0 = g_strdup ("A"), *s1 = g_strdup ("B"); oio_str_reuse (&s0, s1); g_assert (s0 == s1); oio_str_clean (&s1); g_assert (s1 == NULL); }
static void _q_destroy (struct oio_events_queue_s *self) { if (!self) return; struct _queue_AGENT_s *q = (struct _queue_AGENT_s*) self; EXTRA_ASSERT(q->vtable == &vtable_AGENT); g_async_queue_unref (q->queue); oio_str_clean (&q->url); g_free (q); }
static void _data_treatments_clean(struct data_treatments_s *dt) { if (!dt) return; oio_str_clean(&dt->name); if (NULL != dt->params) g_hash_table_destroy(dt->params); g_free(dt); }
static void _data_security_clean(struct data_security_s *ds) { if (!ds) return; oio_str_clean(&ds->name); if (NULL != ds->params) g_hash_table_destroy(ds->params); g_free(ds); }
void content_textinfo_free_content(struct content_textinfo_s *cti) { if (!cti) return; oio_str_clean (&cti->container_id); oio_str_clean (&cti->content_id); oio_str_clean (&cti->path); oio_str_clean (&cti->version); oio_str_clean (&cti->size); oio_str_clean (&cti->chunk_nb); oio_str_clean (&cti->storage_policy); oio_str_clean (&cti->rawx_list); oio_str_clean (&cti->spare_rawx_list); }
static void _local_free (gpointer p) { struct oio_ext_local_s *l = p; if (!l) return; oio_str_clean (&l->reqid); if (l->prng) { g_rand_free (l->prng); l->prng = NULL; } g_free (l); }
void storage_policy_clean(struct storage_policy_s *sp) { if (!sp) return; oio_str_clean(&sp->name); if (NULL != sp->datasec) _data_security_clean(sp->datasec); if (NULL != sp->datatreat) _data_treatments_clean(sp->datatreat); if (NULL != sp->stgclass) storage_class_clean(sp->stgclass); g_free(sp); }
static void sqlx_service_specific_fini(void) { // soft stop if (SRV.gtq_reload) grid_task_queue_stop(SRV.gtq_reload); if (SRV.gtq_admin) grid_task_queue_stop(SRV.gtq_admin); if (SRV.server) { network_server_close_servers(SRV.server); network_server_stop(SRV.server); } if (SRV.thread_reload) g_thread_join(SRV.thread_reload); if (SRV.thread_admin) g_thread_join(SRV.thread_admin); if (SRV.thread_client) g_thread_join(SRV.thread_client); if (SRV.thread_queue) g_thread_join(SRV.thread_queue); if (SRV.repository) { sqlx_repository_stop(SRV.repository); struct sqlx_cache_s *cache = sqlx_repository_get_cache(SRV.repository); if (cache) sqlx_cache_expire(cache, G_MAXUINT, 0); } if (SRV.election_manager) election_manager_exit_all(SRV.election_manager, 0, TRUE); if (SRV.sync) sqlx_sync_close(SRV.sync); if (SRV.peering) sqlx_peering__destroy(SRV.peering); // Cleanup if (SRV.gtq_admin) { grid_task_queue_destroy(SRV.gtq_admin); SRV.gtq_admin = NULL; } if (SRV.gtq_reload) { grid_task_queue_destroy(SRV.gtq_reload); SRV.gtq_reload = NULL; } if (SRV.server) { network_server_clean(SRV.server); SRV.server = NULL; } if (SRV.dispatcher) { gridd_request_dispatcher_clean(SRV.dispatcher); SRV.dispatcher = NULL; } if (SRV.repository) { sqlx_repository_clean(SRV.repository); SRV.repository = NULL; } if (SRV.sync) { sqlx_sync_clear(SRV.sync); SRV.sync = NULL; } if (SRV.resolver) { hc_resolver_destroy(SRV.resolver); SRV.resolver = NULL; } if (SRV.announce) { g_string_free(SRV.announce, TRUE); SRV.announce = NULL; } if (SRV.url) { g_string_free(SRV.url, TRUE); SRV.url = NULL; } if (SRV.zk_url) oio_str_clean(&SRV.zk_url); if (SRV.clients_pool) { gridd_client_pool_destroy (SRV.clients_pool); SRV.clients_pool = NULL; } // Must be freed after SRV.clients_pool if (SRV.election_manager) { election_manager_clean(SRV.election_manager); SRV.election_manager = NULL; } if (SRV.lb) { grid_lbpool_destroy (SRV.lb); SRV.lb = NULL; } if (SRV.events_queue) { oio_events_queue__destroy (SRV.events_queue); SRV.events_queue = NULL; } if (SRV.nsinfo) { namespace_info_free(SRV.nsinfo); SRV.nsinfo = NULL; } if (all_options) { g_free (all_options); all_options = NULL; } }
static void sqlx_service_specific_fini(void) { // soft stop if (SRV.gtq_reload) grid_task_queue_stop(SRV.gtq_reload); if (SRV.gtq_register) grid_task_queue_stop(SRV.gtq_register); if (SRV.gtq_admin) grid_task_queue_stop(SRV.gtq_admin); if (SRV.server) { network_server_close_servers(SRV.server); network_server_stop(SRV.server); } if (SRV.thread_reload) g_thread_join(SRV.thread_reload); if (SRV.thread_register) g_thread_join(SRV.thread_register); if (SRV.thread_admin) g_thread_join(SRV.thread_admin); if (SRV.thread_client) g_thread_join(SRV.thread_client); if (SRV.thread_queue) g_thread_join(SRV.thread_queue); if (SRV.repository) { sqlx_repository_stop(SRV.repository); struct sqlx_cache_s *cache = sqlx_repository_get_cache(SRV.repository); if (cache) sqlx_cache_expire(cache, G_MAXUINT, 0); } if (SRV.election_manager) election_manager_exit_all(SRV.election_manager, 0, TRUE); if (SRV.sync) sqlx_sync_close(SRV.sync); // Cleanup if (SRV.gtq_admin) grid_task_queue_destroy(SRV.gtq_admin); if (SRV.gtq_reload) grid_task_queue_destroy(SRV.gtq_reload); if (SRV.gtq_register) grid_task_queue_destroy(SRV.gtq_register); if (SRV.server) network_server_clean(SRV.server); if (SRV.dispatcher) gridd_request_dispatcher_clean(SRV.dispatcher); if (SRV.repository) sqlx_repository_clean(SRV.repository); if (SRV.election_manager) election_manager_clean(SRV.election_manager); if (SRV.sync) sqlx_sync_clear(SRV.sync); if (SRV.resolver) hc_resolver_destroy(SRV.resolver); if (SRV.gsr_reqtime) grid_single_rrd_destroy(SRV.gsr_reqtime); if (SRV.gsr_reqcounter) grid_single_rrd_destroy(SRV.gsr_reqcounter); if (SRV.custom_tags) g_slist_free_full(SRV.custom_tags, g_free); if (SRV.si) service_info_clean(SRV.si); if (SRV.announce) g_string_free(SRV.announce, TRUE); if (SRV.url) g_string_free(SRV.url, TRUE); if (SRV.zk_url) oio_str_clean(&SRV.zk_url); if (SRV.clients_pool) gridd_client_pool_destroy (SRV.clients_pool); if (SRV.lb) grid_lbpool_destroy (SRV.lb); if (SRV.events_queue) oio_events_queue__destroy (SRV.events_queue); if (SRV.nsinfo) namespace_info_free(SRV.nsinfo); if (all_options) { g_free (all_options); all_options = NULL; } }