/** * virObjectEventStateDispose: * @list: virObjectEventStatePtr to free * * Free a virObjectEventStatePtr and its members, and unregister the timer. */ static void virObjectEventStateDispose(void *obj) { virObjectEventStatePtr state = obj; VIR_DEBUG("obj=%p", state); virObjectEventCallbackListFree(state->callbacks); virObjectEventQueueFree(state->queue); if (state->timer != -1) virEventRemoveTimeout(state->timer); }
/** * virObjectEventStateFree: * @list: virObjectEventStatePtr to free * * Free a virObjectEventStatePtr and its members, and unregister the timer. */ void virObjectEventStateFree(virObjectEventStatePtr state) { if (!state) return; virObjectEventCallbackListFree(state->callbacks); virObjectEventQueueFree(state->queue); if (state->timer != -1) virEventRemoveTimeout(state->timer); virMutexDestroy(&state->lock); VIR_FREE(state); }