Lines Matching refs:stree
204 stree_destroy(kvs_t *store, stree_t *stree) in stree_destroy() argument
206 tree_del_recursive(stree->root); in stree_destroy()
207 free(stree); in stree_destroy()
213 stree_inc_ref(stree_t *stree) in stree_inc_ref() argument
215 stree->ref_cnt++; in stree_inc_ref()
227 stree_dec_ref(kvs_t *store, stree_t *stree) in stree_dec_ref() argument
229 if (stree && !--stree->ref_cnt) { in stree_dec_ref()
230 kvs_remove(store, stree->id); in stree_dec_ref()
231 stree_destroy(store, stree); in stree_dec_ref()
321 clone_stree(stree_t * stree)
329 TREE_DFS_FOREACH(walk, stree->root, &stack, link) {
339 TREE_DFS_FOREACH(w, stree->root, &stack, link) {
373 stree_t *stree, *nstree; in RegCb() local
378 if ((stree = *pstree)) { in RegCb()
383 if (tree_search(stree->root, ev)) in RegCb()
388 id = stree->id; in RegCb()
399 if (stree) in RegCb()
400 stree_dec_ref(store, stree); in RegCb()
420 if (stree) { /* case 2. */ in RegCb()
429 if (stree->ref_cnt > 1) { in RegCb()
431 curf = clone_tree(stree); in RegCb()
433 stree->ref_cnt--; in RegCb()
435 assert(stree->ref_cnt == 1); in RegCb()
436 curf = stree; in RegCb()
438 kvs_remove(store, stree->id); in RegCb()
444 if (stree->ref_cnt == 1) { in RegCb()
447 w = stree->root; in RegCb()
489 TREE_DFS_FOREACH(w, stree->root, &stack, link) { in RegCb()
537 if (stree) in RegCb()
538 stree_dec_ref(store, stree); in RegCb()
565 stree_t *stree, *nstree; in UnregCb() local
571 if (!(stree = *pstree) || !(target = tree_search(stree->root, ev)) || in UnregCb()
577 id = stree->id; in UnregCb()
589 if (stree) in UnregCb()
590 stree_dec_ref(store, stree); in UnregCb()
597 if (stree) in UnregCb()
598 stree_dec_ref(store, stree); in UnregCb()
602 } else if (stree) { in UnregCb()
614 while (sptr && !sptr->cb && TREE_IS_ONLY_CHILD(stree->root, sptr, link)) in UnregCb()
621 TREE_DFS_FOREACH_SELECTIVE(w, stree->root, &stack, link, proceed) { in UnregCb()
664 stree_dec_ref(store, stree); in UnregCb()
882 stree_t * const stree, event_t events) in HandleCb() argument
888 assert(stree); in HandleCb()
890 g_cur_stree = stree; in HandleCb()
896 if (!(bev = stree->bevs[i])) in HandleCb()
1046 stree_t * const stree = in HandleCallback() local
1058 if (!stree) in HandleCallback()
1086 HandleCb(mctx, socket->id, side, stree, events); in HandleCallback()