Lines Matching refs:srv
82 mpp_trie_add_info(srv->trie, (const char *)&val, NULL, 0); \
178 static void put_meta(MppMetaSrv *srv, MppMetaImpl *meta);
184 MppMetaSrv *srv = srv_meta; in mpp_meta_srv_init() local
188 if (srv) in mpp_meta_srv_init()
191 srv = mpp_calloc(MppMetaSrv, 1); in mpp_meta_srv_init()
192 if (!srv) { in mpp_meta_srv_init()
197 srv_meta = srv; in mpp_meta_srv_init()
199 mpp_spinlock_init(&srv->lock); in mpp_meta_srv_init()
200 INIT_LIST_HEAD(&srv->list_meta); in mpp_meta_srv_init()
202 mpp_trie_init(&srv->trie, "MppMetaDef"); in mpp_meta_srv_init()
203 if (srv->trie) { in mpp_meta_srv_init()
206 mpp_trie_add_info(srv->trie, NULL, NULL, 0); in mpp_meta_srv_init()
226 MppMetaSrv *srv = srv_meta; in mpp_meta_srv_deinit() local
228 if (!srv) in mpp_meta_srv_deinit()
231 if (!list_empty(&srv->list_meta)) { in mpp_meta_srv_deinit()
236 list_for_each_entry_safe(pos, n, &srv->list_meta, MppMetaImpl, list_meta) { in mpp_meta_srv_deinit()
237 put_meta(srv, pos); in mpp_meta_srv_deinit()
241 mpp_assert(srv->meta_count == 0); in mpp_meta_srv_deinit()
243 if (srv->trie) { in mpp_meta_srv_deinit()
244 mpp_trie_deinit(srv->trie); in mpp_meta_srv_deinit()
245 srv->trie = NULL; in mpp_meta_srv_deinit()
264 MppMetaSrv *srv = get_srv_meta(caller); in MPP_SINGLETON() local
267 if (srv) { in MPP_SINGLETON()
270 info = mpp_trie_get_info(srv->trie, (const char *)&val); in MPP_SINGLETON()
276 static MppMetaImpl *get_meta(MppMetaSrv *srv, const char *tag, const char *caller) in get_meta() argument
286 impl->meta_id = MPP_FETCH_ADD(&srv->meta_id, 1); in get_meta()
294 mpp_spinlock_lock(&srv->lock); in get_meta()
295 list_add_tail(&impl->list_meta, &srv->list_meta); in get_meta()
296 mpp_spinlock_unlock(&srv->lock); in get_meta()
297 MPP_FETCH_ADD(&srv->meta_count, 1); in get_meta()
318 static void put_meta(MppMetaSrv *srv, MppMetaImpl *meta) in put_meta() argument
322 if (!srv) in put_meta()
334 mpp_spinlock_lock(&srv->lock); in put_meta()
338 mpp_spinlock_unlock(&srv->lock); in put_meta()
339 MPP_FETCH_SUB(&srv->meta_count, 1); in put_meta()
347 MppMetaSrv *srv = get_srv_meta(caller); in mpp_meta_get_with_tag() local
350 if (!srv) in mpp_meta_get_with_tag()
358 impl = get_meta(srv, tag, caller); in mpp_meta_get_with_tag()
528 MppMetaSrv *srv = get_srv_meta_f(); in mpp_meta_dup() local
532 if (!srv || !meta) in mpp_meta_dup()
535 ret = get_meta(srv, impl->tag, __FUNCTION__); in mpp_meta_dup()
554 MppMetaSrv *srv = get_srv_meta_f(); in mpp_meta_dump() local
565 if (!srv || !srv->trie) in mpp_meta_dump()
568 root = mpp_trie_get_info_first(srv->trie); in mpp_meta_dump()
604 } while ((node = mpp_trie_get_info_next(srv->trie, node))); in mpp_meta_dump()