您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FREE_OBJ函数代码示例

51自学网 2021-06-01 20:43:09
  C++
这篇教程C++ FREE_OBJ函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FREE_OBJ函数的典型用法代码示例。如果您正苦于以下问题:C++ FREE_OBJ函数的具体用法?C++ FREE_OBJ怎么用?C++ FREE_OBJ使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FREE_OBJ函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: VRT_DelDirector

voidVRT_DelDirector(VCL_BACKEND *bp){	struct vcl *vcl;	struct vcldir *vdir;	VCL_BACKEND d;	TAKE_OBJ_NOTNULL(d, bp, DIRECTOR_MAGIC);	vdir = d->vdir;	CHECK_OBJ_NOTNULL(vdir, VCLDIR_MAGIC);	vcl = vdir->vcl;	CHECK_OBJ_NOTNULL(vcl, VCL_MAGIC);	Lck_Lock(&vcl_mtx);	VTAILQ_REMOVE(&vcl->director_list, vdir, list);	Lck_Unlock(&vcl_mtx);	AZ(errno=pthread_rwlock_rdlock(&vcl->temp_rwl));	if (VCL_WARM(vcl))		VDI_Event(d, VCL_EVENT_COLD);	AZ(errno=pthread_rwlock_unlock(&vcl->temp_rwl));	if(vdir->methods->destroy != NULL)		vdir->methods->destroy(d);	free(vdir->cli_name);	FREE_OBJ(vdir->dir);	FREE_OBJ(vdir);}
开发者ID:hermunn,项目名称:varnish-cache,代码行数:26,


示例2: vex_Free

voidvex_Free(struct vex **pvex){	if ((*pvex)->lhs != NULL) {		if ((*pvex)->lhs->tags != NULL)			vbit_destroy((*pvex)->lhs->tags);		if ((*pvex)->lhs->prefix != NULL)			free((*pvex)->lhs->prefix);		FREE_OBJ((*pvex)->lhs);	}	if ((*pvex)->rhs != NULL) {		if ((*pvex)->rhs->val_string)			free((*pvex)->rhs->val_string);		if ((*pvex)->rhs->val_regex)			VRE_free(&(*pvex)->rhs->val_regex);		FREE_OBJ((*pvex)->rhs);	}	if ((*pvex)->a != NULL) {		vex_Free(&(*pvex)->a);		AZ((*pvex)->a);	}	if ((*pvex)->b != NULL) {		vex_Free(&(*pvex)->b);		AZ((*pvex)->b);	}	FREE_OBJ(*pvex);	*pvex = NULL;}
开发者ID:Matt8109,项目名称:Varnish-Cache,代码行数:29,


示例3: vmod_file_system__fini

VCL_VOIDvmod_file_system__fini(struct vmod_fsdirector_file_system **fsp){	struct vmod_fsdirector_file_system *fs;	void *res;	// XXX It seems that the destructor is not called yet.	//     A little reminder then...	abort();	fs = *fsp;	*fsp = NULL;	CHECK_OBJ_NOTNULL(fs, VMOD_FSDIRECTOR_MAGIC);	AZ(pthread_cancel(fs->tp));	AZ(pthread_join(fs->tp, &res));	assert(res == PTHREAD_CANCELED);	magic_close(fs->magic_cookie);	free(fs->thread_name);	free(fs->ws_name);	free(fs->wrk->aws);	FREE_OBJ(fs->wrk);	FREE_OBJ(fs);}
开发者ID:Dridi,项目名称:libvmod-fsdirector,代码行数:25,


示例4: HSH_Cleanup

/*---------------------------------------------------------------------*/voidHSH_Cleanup(struct worker *wrk){	if (wrk->nobjcore != NULL) {		FREE_OBJ(wrk->nobjcore);		wrk->stats->n_objectcore--;		wrk->nobjcore = NULL;	}	if (wrk->nobjhead != NULL) {		Lck_Delete(&wrk->nobjhead->mtx);		FREE_OBJ(wrk->nobjhead);		wrk->nobjhead = NULL;		wrk->stats->n_objecthead--;	}	if (wrk->nwaitinglist != NULL) {		FREE_OBJ(wrk->nwaitinglist);		wrk->nwaitinglist = NULL;		wrk->stats->n_waitinglist--;	}	if (wrk->nhashpriv != NULL) {		/* XXX: If needed, add slinger method for this */		free(wrk->nhashpriv);		wrk->nhashpriv = NULL;	}}
开发者ID:wikimedia,项目名称:operations-debs-varnish4,代码行数:27,


示例5: CREATE_STRING_ERR

char *popen_fread(char *cmd, char *buf, int len){	char *str_tmp = NULL;	char *p = NULL;	FILE *fp = NULL;		if((cmd == NULL) || (buf == NULL))		return NULL;	//str_tmp = malloc(len);	CREATE_STRING_ERR(str_tmp,len,MALLOC_ERR_RET(NULL));	if(str_tmp == NULL)	{		goto err;	}	printf_d("CMD: %s/n", cmd);	fp = popen(cmd, "r");	if(fp)	{		memset(str_tmp, 0, len);		if(fread(str_tmp, 1, len, fp) > 0)		{			if(strlen(str_tmp) < 1)			{				pclose(fp);				goto err;			}			if(str_tmp[strlen(str_tmp)-1] == '/n')			{				str_tmp[strlen(str_tmp)-1] = '/0';			}			else			{				str_tmp[strlen(str_tmp)] = '/0';			}			p = trim(str_tmp);			if(p == NULL)			{				buf[0] = 0;			}			else				strcpy(buf, p);			pclose(fp);		}		else		{			pclose(fp);			goto err;		}	}	else	{		goto err;	}	FREE_OBJ(str_tmp);	return buf;err:	FREE_OBJ(str_tmp);	return NULL;}
开发者ID:tcdog001,项目名称:apv5sdk-v15,代码行数:59,


示例6: vdir_delete

voidvdir_delete(struct vdir **vdp){	struct vdir *vd;	TAKE_OBJ_NOTNULL(vd, vdp, VDIR_MAGIC);	free(vd->backend);	free(vd->weight);	AZ(pthread_rwlock_destroy(&vd->mtx));	free(vd->dir->vcl_name);	FREE_OBJ(vd->dir);	vbit_destroy(vd->vbm);	FREE_OBJ(vd);}
开发者ID:maniacs-ops,项目名称:varnish-cache,代码行数:15,


示例7: TestCB_destroy

voidTestCB_destroy(TestCharBuf *self){    DECREF(self->wanted);    DECREF(self->got);    FREE_OBJ(self);}
开发者ID:robertkrimen,项目名称:Search-Kino03,代码行数:7,


示例8: ME_DeleteReObject

void ME_DeleteReObject(REOBJECT* reo){    if (reo->poleobj)   IOleObject_Release(reo->poleobj);    if (reo->pstg)      IStorage_Release(reo->pstg);    if (reo->polesite)  IOleClientSite_Release(reo->polesite);    FREE_OBJ(reo);}
开发者ID:Eltechs,项目名称:wine,代码行数:7,


示例9: Snapshot_destroy

voidSnapshot_destroy(Snapshot *self){    DECREF(self->entries);    DECREF(self->filename);    FREE_OBJ(self);}
开发者ID:robertkrimen,项目名称:Search-Kino03,代码行数:7,


示例10: FREE_OBJ

	// Free a memblock object.	void Memblock::free(Memory& mem, Memblock* m)	{		if(m->ownData)			m->data.free(mem);		FREE_OBJ(mem, Memblock, m);	}
开发者ID:JarrettBillingsley,项目名称:Croc,代码行数:8,


示例11: vfp_esi_end

vfp_esi_end(struct sess *sp){	struct vsb *vsb;	struct vef_priv *vef;	ssize_t l;	CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);	AN(sp->wrk->vep);	vsb = VEP_Finish(sp);	if (vsb != NULL) {		l = VSB_len(vsb);		assert(l > 0);		/* XXX: This is a huge waste of storage... */		sp->obj->esidata = STV_alloc(sp, l);		XXXAN(sp->obj->esidata);		memcpy(sp->obj->esidata->ptr, VSB_data(vsb), l);		sp->obj->esidata->len = l;		VSB_delete(vsb);	}	if (sp->wrk->vgz_rx != NULL)		VGZ_Destroy(&sp->wrk->vgz_rx);	if (sp->wrk->vef_priv != NULL) {		vef = sp->wrk->vef_priv;		CHECK_OBJ_NOTNULL(vef, VEF_MAGIC);		sp->wrk->vef_priv = NULL;		VGZ_UpdateObj(vef->vgz, sp->obj);		VGZ_Destroy(&vef->vgz);		XXXAZ(vef->error);		FREE_OBJ(vef);	}	return (0);}
开发者ID:midnightskinhead,项目名称:Varnish-Cache,代码行数:35,


示例12: vsmw_delseg

static voidvsmw_delseg(struct vsmw *vsmw, struct vsmwseg *seg, int fixidx){	char *t = NULL;	ssize_t s;	int fd;	CHECK_OBJ_NOTNULL(vsmw, VSMW_MAGIC);	CHECK_OBJ_NOTNULL(seg, VSMWSEG_MAGIC);	VTAILQ_REMOVE(&vsmw->segs, seg, list);	REPLACE(seg->class, NULL);	REPLACE(seg->id, NULL);	FREE_OBJ(seg);	if (fixidx) {		vsmw_mkent(vsmw, vsmw->idx);		REPLACE(t, VSB_data(vsmw->vsb));		AN(t);		fd = openat(vsmw->vdirfd,		    t, O_WRONLY|O_CREAT|O_EXCL, vsmw->mode);		assert(fd >= 0);		vsmw_idx_head(vsmw, fd);		VSB_clear(vsmw->vsb);		VTAILQ_FOREACH(seg, &vsmw->segs, list)			vsmw_fmt_index(vsmw, seg);		AZ(VSB_finish(vsmw->vsb));		s = write(fd, VSB_data(vsmw->vsb), VSB_len(vsmw->vsb));		assert(s == VSB_len(vsmw->vsb));		AZ(close(fd));		AZ(renameat(vsmw->vdirfd, t, vsmw->vdirfd, vsmw->idx));		REPLACE(t, NULL);	}}
开发者ID:hermunn,项目名称:varnish-cache,代码行数:34,


示例13: VRT_rel_vcl

voidVRT_rel_vcl(VRT_CTX, struct vclref **refp){	struct vcl *vcl;	struct vclref *ref;	AN(refp);	ref = *refp;	*refp = NULL;	CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);	CHECK_OBJ_NOTNULL(ref, VCLREF_MAGIC);	vcl = ctx->vcl;	CHECK_OBJ_NOTNULL(vcl, VCL_MAGIC);	assert(vcl == ref->vcl);	/* NB: A VCL may be released by a VMOD at any time, but it must happen	 * after a warmup and before the end of a cooldown. The release may or	 * may not happen while the same thread holds the temperature lock, so	 * instead we check that all references are gone in VCL_Nuke.	 */	Lck_Lock(&vcl_mtx);	assert(!VTAILQ_EMPTY(&vcl->ref_list));	VTAILQ_REMOVE(&vcl->ref_list, ref, list);	vcl->nrefs--;	/* No garbage collection here, for the same reasons as in VCL_Rel. */	Lck_Unlock(&vcl_mtx);	FREE_OBJ(ref);}
开发者ID:hermunn,项目名称:varnish-cache,代码行数:32,


示例14: ObjIterEnd

voidObjIterEnd(struct objiter **oi){	CHECK_OBJ_NOTNULL((*oi), OBJITER_MAGIC);	FREE_OBJ((*oi));}
开发者ID:gorillamania,项目名称:Varnish-Cache,代码行数:7,


示例15: vbp_wrk_poll_backend

static void *vbp_wrk_poll_backend(void *priv){	struct vbp_target *vt;	THR_SetName("backend poll");	CAST_OBJ_NOTNULL(vt, priv, VBP_TARGET_MAGIC);	while (!vt->stop) {		AN(vt->req);		assert(vt->req_len > 0);		if (!vt->disable) {			vbp_start_poke(vt);			vbp_poke(vt);			vbp_has_poked(vt);		}		if (!vt->stop)			VTIM_sleep(vt->probe.interval);	}	Lck_Delete(&vt->mtx);	VTAILQ_REMOVE(&vbp_list, vt, list);	VBT_Rel(&vt->tcp_pool);	free(vt->req);	FREE_OBJ(vt);	return (NULL);}
开发者ID:BMDan,项目名称:Varnish-Cache,代码行数:29,


示例16: LockFact_destroy

voidLockFact_destroy(LockFactory *self){    DECREF(self->folder);    DECREF(self->agent_id);    FREE_OBJ(self);}
开发者ID:robertkrimen,项目名称:Search-Kino03,代码行数:7,


示例17: SeriesMatcher_destroy

voidSeriesMatcher_destroy(SeriesMatcher *self){    DECREF(self->matchers);    DECREF(self->offsets);    FREE_OBJ(self);}
开发者ID:robertkrimen,项目名称:Search-Kino03,代码行数:7,


示例18: VRT_Vmod_Fini

voidVRT_Vmod_Fini(void **hdl){	struct vmod *v;	ASSERT_CLI();	AN(*hdl);	CAST_OBJ_NOTNULL(v, *hdl, VMOD_MAGIC);	*hdl = NULL;#ifndef DONT_DLCLOSE_VMODS	/*	 * atexit(3) handlers are not called during dlclose(3).  We don't	 * normally use them, but we do when running GCOV.  This option	 * enables us to do that.	 */	AZ(dlclose(v->hdl));#endif	if (--v->ref != 0)		return;	free(v->nm);	free(v->path);	VTAILQ_REMOVE(&vmods, v, list);	VSC_C_main->vmods--;	FREE_OBJ(v);}
开发者ID:biddyweb,项目名称:Varnish-Cache,代码行数:27,


示例19: ME_DestroyStyle

static void ME_DestroyStyle(ME_Style *s) {  if (s->hFont)  {    DeleteObject(s->hFont);    s->hFont = NULL;  }  FREE_OBJ(s);}
开发者ID:howard5888,项目名称:wineT,代码行数:8,


示例20: VLU_Destroy

voidVLU_Destroy(struct vlu *l){	CHECK_OBJ_NOTNULL(l, LINEUP_MAGIC);	free(l->buf);	FREE_OBJ(l);}
开发者ID:KlausBrunner,项目名称:Varnish-Cache,代码行数:8,


示例21: vmod_mqueue__fini

VCL_VOID vmod_mqueue__fini(struct vmod_msgsend_mqueue **qp){    AN(qp);    CHECK_OBJ_NOTNULL(*qp, VMOD_MSGSEND_OBJ_MAGIC);    queue_close(&(*qp)->queue);    FREE_OBJ(*qp);    *qp = NULL;}
开发者ID:julp,项目名称:banip,代码行数:8,


示例22: BAN_Abandon

voidBAN_Abandon(struct ban_proto *bp){	CHECK_OBJ_NOTNULL(bp, BAN_PROTO_MAGIC);	VSB_delete(bp->vsb);	FREE_OBJ(bp);}
开发者ID:preillyme,项目名称:Varnish-Cache,代码行数:8,


示例23: fifolog_write_destroy

voidfifolog_write_destroy(struct fifolog_writer *f){	free(f->obuf);	free(f->ibuf);	FREE_OBJ(f);}
开发者ID:JabirTech,项目名称:Source,代码行数:8,


示例24: vcc_delete_expr

static voidvcc_delete_expr(struct expr *e){	if (e == NULL)		return;	CHECK_OBJ_NOTNULL(e, EXPR_MAGIC);	VSB_delete(e->vsb);	FREE_OBJ(e);}
开发者ID:BabyOnlineSG,项目名称:pkg-varnish,代码行数:9,


示例25: vdir_delete

voidvdir_delete(struct vdir **vdp){	struct vdir *vd;	AN(vdp);	vd = *vdp;	*vdp = NULL;	CHECK_OBJ_NOTNULL(vd, VDIR_MAGIC);	free(vd->backend);	free(vd->weight);	AZ(pthread_mutex_destroy(&vd->mtx));	FREE_OBJ(vd->dir);	vbit_destroy(vd->vbm);	FREE_OBJ(vd);}
开发者ID:brianjarita,项目名称:Varnish-Cache,代码行数:18,


示例26: telnet_close

static voidtelnet_close(void *priv){	struct telnet *tn;	CAST_OBJ_NOTNULL(tn, priv, TELNET_MAGIC);	(void)close(tn->fd);	FREE_OBJ(tn);}
开发者ID:BabyOnlineSG,项目名称:pkg-varnish,代码行数:9,


示例27: SES_DeletePool

voidSES_DeletePool(struct sesspool *pp){	CHECK_OBJ_NOTNULL(pp, SESSPOOL_MAGIC);	MPL_Destroy(&pp->mpl_sess);	MPL_Destroy(&pp->mpl_req);	FREE_OBJ(pp);}
开发者ID:Open-Party,项目名称:Varnish-Cache,代码行数:9,


示例28: vtc_logclose

voidvtc_logclose(struct vtclog *vl){	CHECK_OBJ_NOTNULL(vl, VTCLOG_MAGIC);	vsb_delete(vl->vsb);	AZ(pthread_mutex_destroy(&vl->mtx));	FREE_OBJ(vl);}
开发者ID:leed25d,项目名称:ljVarnishPatch,代码行数:9,


示例29: HSH_DeleteObjHead

voidHSH_DeleteObjHead(struct worker *wrk, struct objhead *oh){	AZ(oh->refcnt);	assert(VTAILQ_EMPTY(&oh->objcs));	Lck_Delete(&oh->mtx);	wrk->stats->n_objecthead--;	FREE_OBJ(oh);}
开发者ID:wikimedia,项目名称:operations-debs-varnish4,代码行数:10,



注:本文中的FREE_OBJ函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FREE_TEXT函数代码示例
C++ FREE_NULL_LIST函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。