void tm_free_acc_ctx(void* param) { acc_ctx_t* ctx = param; if (!is_dialog_context(ctx->flags)) { free_acc_ctx(ctx); /* there are some cases when this function is called on the initial * INVITE, so we won't be able free this context from dialog; also * this callback will be called before processing context destroy * function, causing a double free so we need to stop the processing * context from freeing this pointer */ if (current_processing_ctx) ACC_PUT_CTX(NULL); } }
void tm_free_acc_mask(void* param) { if (!is_dialog_context(*(unsigned long long*)param)) { shm_free((unsigned long long *)param); } }