void call_flush_users(struct call *call) { if (!call) return; dict_flush(call->users); }
int mm_platform_init(struct mm *mm, struct dict *sounds) { info("mm_platform_android: init: mm=%p sounds=%p\n", mm, sounds); tmr_init(&java.tmr_delay); jni_create_router(mm); dict_flush(sounds); mediamgr_device_changed(mm); return 0; }
static void call_destructor(void *arg) { struct call *call = arg; struct le *le; info("flowmgr(%p): call(%p): dtor\n", call->fm, call); le = call->rrl.head; while (le) { struct rr_resp *rr = le->data; le = le->next; rr_cancel(rr); } list_flush(&call->ghostl); list_flush(&call->conf_parts); dict_flush(call->users); mem_deref(call->users); if (call->fm) dict_remove(call->fm->calls, call->convid); if (call->flows) { struct dict *flows = call->flows; call->flows = NULL; mem_deref(flows); } mem_deref(call->convid); mem_deref(call->sessid); call->fm = NULL; list_unlink(&call->post_le); }