提交 593269a2 编写于 作者: C Cole Robinson

events: Add virObjectEventCallbackFree

上级 d3a492a8
......@@ -125,6 +125,22 @@ virObjectEventDispose(void *obj)
VIR_FREE(event->meta.name);
}
/**
* virObjectEventCallbackFree:
* @list: event callback to free
*
* Free the memory in the domain event callback
*/
static void
virObjectEventCallbackFree(virObjectEventCallbackPtr cb)
{
if (!cb)
return;
virObjectUnref(cb->conn);
VIR_FREE(cb);
}
/**
* virObjectEventCallbackListFree:
* @list: event callback list head
......@@ -230,8 +246,7 @@ virObjectEventCallbackListRemoveID(virConnectPtr conn,
if (cb->freecb)
(*cb->freecb)(cb->opaque);
virObjectUnref(cb->conn);
VIR_FREE(cb);
virObjectEventCallbackFree(cb);
VIR_DELETE_ELEMENT(cbList->callbacks, i, cbList->count);
return ret;
}
......@@ -280,8 +295,7 @@ virObjectEventCallbackListPurgeMarked(virObjectEventCallbackListPtr cbList)
virFreeCallback freecb = cbList->callbacks[n]->freecb;
if (freecb)
(*freecb)(cbList->callbacks[n]->opaque);
virObjectUnref(cbList->callbacks[n]->conn);
VIR_FREE(cbList->callbacks[n]);
virObjectEventCallbackFree(cbList->callbacks[n]);
VIR_DELETE_ELEMENT(cbList->callbacks, n, cbList->count);
n--;
......@@ -441,9 +455,7 @@ virObjectEventCallbackListAddID(virConnectPtr conn,
}
cleanup:
if (event)
virObjectUnref(event->conn);
VIR_FREE(event);
virObjectEventCallbackFree(event);
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册