/// Routine to free/destroy/finalize our ChildProcess objects. FSTATIC void _childprocess_finalize(AssimObj* aself) { ChildProcess* self = CASTTOCLASS(ChildProcess, aself); if (self->stdout_src) { g_source_destroy(&self->stdout_src->baseclass); g_source_unref(&self->stdout_src->baseclass); //self->stdout_src->finalize(self->stdout_src); self->stdout_src = NULL; } if (self->stderr_src) { g_source_destroy(&self->stderr_src->baseclass.baseclass); g_source_unref(&self->stderr_src->baseclass.baseclass); //self->stderr_src->baseclass.finalize(&self->stderr_src->baseclass); self->stderr_src = NULL; } if (self->loggingname) { g_free(self->loggingname); self->loggingname = NULL; } if (self->timeoutsrc_id > 0) { g_source_remove(self->timeoutsrc_id); DEBUGMSG3("%s:%d: Removed timeout for process with user_data = %p" , __FUNCTION__, __LINE__, self); self->timeoutsrc_id = 0; } _assimobj_finalize(aself); self = NULL; aself = NULL; }
/// Finalize (destructor) function for our CryptFramePrivateKey objects FSTATIC void _cryptframe_privatekey_finalize(AssimObj* privkey) ///< object to finalize/destroy { CryptFramePrivateKey* self = CASTTOCLASS(CryptFramePrivateKey, privkey); if (self->key_id) { g_free(self->key_id); self->key_id = NULL; } if (self->private_key) { g_free(self->private_key); self->private_key = NULL; } _assimobj_finalize(privkey); }
/// Finalize (destructor) function for our CryptFramePublicKey objects FSTATIC void _cryptframe_publickey_finalize(AssimObj* pubkey) ///< object to finalize/destroy { CryptFramePublicKey* self = CASTTOCLASS(CryptFramePublicKey, pubkey); if (self->key_id) { g_free(self->key_id); self->key_id = NULL; } if (self->public_key) { g_free(self->public_key); self->public_key = NULL; } _assimobj_finalize(pubkey); }
/// Finalize a ResourceQueue -- RIP FSTATIC void _resource_queue_finalize(AssimObj* aself) { ResourceQueue* self = CASTTOCLASS(ResourceQueue, aself); self->shuttingdown = TRUE; if (self->activechildcnt > 0) { return; } if (self->resources) { g_hash_table_destroy(self->resources); self->resources = NULL; } if (self->timerid >= 0) { g_source_remove(self->timerid); self->timerid = -1; } _assimobj_finalize(&self->baseclass); self = NULL; }