/** * @brief destroy dmq node */ void destroy_dmq_node(dmq_node_t *node, int shm) { if(shm) { shm_free_node(node); } else { pkg_free_node(node); } }
/** * @brief destroy dmq node */ void destroy_dmq_node(dmq_node_t* node, int shm) { if(shm) { if (node->params!=NULL) shm_free_params(node->params); shm_free_node(node); } else { if (node->params!=NULL) free_params(node->params); pkg_free_node(node); } }
/** * @brief dmq tm callback */ void dmq_tm_callback(struct cell *t, int type, struct tmcb_params *ps) { dmq_cback_param_t* cb_param; cb_param = (dmq_cback_param_t*)(*ps->param); if(cb_param==NULL) return; LM_DBG("dmq_tm_callback start\n"); if(cb_param->resp_cback.f) { if(cb_param->resp_cback.f(ps->rpl, ps->code, cb_param->node, cb_param->resp_cback.param) < 0) { LM_ERR("error in response callback\n"); } } LM_DBG("dmq_tm_callback done\n"); shm_free_node(cb_param->node); shm_free(cb_param); *ps->param = NULL; }