/// Finalize (free) a RscQElem object FSTATIC void _resource_queue_qelem_finalize(RscQElem* self) { DEBUGMSG3("%s.%d: UNREF(self->cmd, refcount=%d)" , __FUNCTION__, __LINE__, self->cmd->baseclass._refcount); UNREF(self->cmd); FREECLASSOBJ(self); }
/// Finalizing function for Discovery objects FSTATIC void _discovery_finalize(AssimObj* gself) ///<[in/out] Object to finalize (free) { Discovery* self = CASTTOCLASS(Discovery, gself); char * instancename = self->_instancename; if (self->_timerid > 0) { g_source_remove(self->_timerid); self->_timerid = 0; } if (self->_config) { UNREF(self->_config); } if (_discovery_timers && instancename) { self->_instancename = NULL; // Avoid infinite recursion... g_hash_table_remove(_discovery_timers, instancename); } if (instancename) { g_free(instancename); self->_instancename = instancename = NULL; } FREECLASSOBJ(self); self=NULL; }