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

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

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

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

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

示例1: slp_tsk

ERslp_tsk(void){	WINFO	winfo;	ER		ercd;	LOG_SLP_TSK_ENTER();	CHECK_DISPATCH();	t_lock_cpu();	if (p_runtsk->wupque) {		p_runtsk->wupque = false;		ercd = E_OK;	}	else {		p_runtsk->tstat = (TS_WAITING | TS_WAIT_SLP);		make_wait(&winfo);		LOG_TSKSTAT(p_runtsk);		dispatch();		ercd = winfo.wercd;	}	t_unlock_cpu();  error_exit:	LOG_SLP_TSK_LEAVE(ercd);	return(ercd);}
开发者ID:zaurus04,项目名称:cortexm3,代码行数:27,


示例2: twai_sem

JSP_L1_CODESYSCALL ERtwai_sem(ID semid, TMO tmout){	SEMCB	*semcb;	WINFO_WOBJ winfo;	TMEVTB	tmevtb;	ER	ercd;	LOG_TWAI_SEM_ENTER(semid, tmout);	CHECK_DISPATCH();	CHECK_SEMID(semid);	CHECK_TMOUT(tmout);	semcb = get_semcb(semid);	t_lock_cpu();	if (semcb->semcnt >= 1) {		semcb->semcnt -= 1;		ercd = E_OK;	}	else if (tmout == TMO_POL) {		ercd = E_TMOUT;	}	else {		wobj_make_wait_tmout((WOBJCB *) semcb, &winfo, &tmevtb, tmout);		dispatch();		ercd = winfo.winfo.wercd;	}	t_unlock_cpu();    exit:	LOG_TWAI_SEM_LEAVE(ercd);	return(ercd);}
开发者ID:ujinosuke,项目名称:ToppersJspForBF70x,代码行数:34,


示例3: tslp_tsk

ERtslp_tsk(TMO tmout){	WINFO	winfo;	TMEVTB	tmevtb;	ER		ercd;	LOG_TSLP_TSK_ENTER(tmout);	CHECK_DISPATCH();	CHECK_TMOUT(tmout);	t_lock_cpu();	if (p_runtsk->wupque) {		p_runtsk->wupque = false;		ercd = E_OK;	}	else if (tmout == TMO_POL) {		ercd = E_TMOUT;	}	else {		p_runtsk->tstat = (TS_WAITING | TS_WAIT_SLP);		make_wait_tmout(&winfo, &tmevtb, tmout);		LOG_TSKSTAT(p_runtsk);		dispatch();		ercd = winfo.wercd;	}	t_unlock_cpu();  error_exit:	LOG_TSLP_TSK_LEAVE(ercd);	return(ercd);}
开发者ID:zaurus04,项目名称:cortexm3,代码行数:32,


示例4: dly_tsk

ERdly_tsk(RELTIM dlytim){	WINFO	winfo;	TMEVTB	tmevtb;	ER		ercd;	LOG_DLY_TSK_ENTER(dlytim);	CHECK_DISPATCH();	CHECK_PAR(dlytim <= TMAX_RELTIM);	t_lock_cpu();	p_runtsk->tstat = (TS_WAITING | TS_WAIT_DLY);	(void) make_non_runnable(p_runtsk);	p_runtsk->p_winfo = &winfo;	winfo.p_tmevtb = &tmevtb;	tmevtb_enqueue(&tmevtb, dlytim, (CBACK) wait_tmout_ok, (void *) p_runtsk);	LOG_TSKSTAT(p_runtsk);	dispatch();	ercd = winfo.wercd;	t_unlock_cpu();  error_exit:	LOG_DLY_TSK_LEAVE(ercd);	return(ercd);}
开发者ID:zaurus04,项目名称:cortexm3,代码行数:26,


示例5: i_vtrcv_tmb

SYSCALL ERi_vtrcv_tmb(T_MSG **ppk_msg, TMO tmout)	{	ER	ercd = E_OK;    	CHECK_TMOUT(tmout);	CHECK_DISPATCH();	BEGIN_CRITICAL_SECTION;	if ( ctxtsk->tmq_head ) 		{		*ppk_msg = ctxtsk->tmq_head;		ctxtsk->tmq_head = nextmsg(*ppk_msg);		}	else 		{		ercd = E_TMOUT;		if ( tmout != TMO_POL ) 			{			ctxtsk->wspec = &wspec_tmb_tfifo;			ctxtsk->wgcb = (GCB *) 0;			ctxtsk->wercd = &ercd;			ctxtsk->winfo.tmb.ppk_msg = ppk_msg;			make_wait(tmout);			queue_initialize(&(ctxtsk->tskque));			}		}	END_CRITICAL_SECTION;	return(ercd);	}
开发者ID:tahamsaglam,项目名称:w0807,代码行数:30,


示例6: wai_sem

JSP_L1_CODESYSCALL ERwai_sem(ID semid){	SEMCB	*semcb;	WINFO_WOBJ winfo;	ER	ercd;	LOG_WAI_SEM_ENTER(semid);	CHECK_DISPATCH();	CHECK_SEMID(semid);	semcb = get_semcb(semid);	t_lock_cpu();	if (semcb->semcnt >= 1) {		semcb->semcnt -= 1;		ercd = E_OK;	}	else {		wobj_make_wait((WOBJCB *) semcb, &winfo);		dispatch();		ercd = winfo.winfo.wercd;	}	t_unlock_cpu();    exit:	LOG_WAI_SEM_LEAVE(ercd);	return(ercd);}
开发者ID:ujinosuke,项目名称:ToppersJspForBF70x,代码行数:29,


示例7: rcv_mbx

SYSCALL ERrcv_mbx(ID mbxid, T_MSG **ppk_msg){	MBXCB	*mbxcb;	WINFO_MBX winfo;	ER	ercd;    	LOG_RCV_MBX_ENTER(mbxid, ppk_msg);	CHECK_DISPATCH();	CHECK_MBXID(mbxid);	mbxcb = get_mbxcb(mbxid);    	t_lock_cpu();	if (mbxcb->head != NULL) {		*ppk_msg = mbxcb->head;		mbxcb->head = (*ppk_msg)->next;		ercd = E_OK;	}	else {		wobj_make_wait((WOBJCB *) mbxcb, (WINFO_WOBJ *) &winfo);		dispatch();		ercd = winfo.winfo.wercd;		if (ercd == E_OK) {			*ppk_msg = winfo.pk_msg;		}	}	t_unlock_cpu();    exit:	LOG_RCV_MBX_LEAVE(ercd, *ppk_msg);	return(ercd);}
开发者ID:Ashatta,项目名称:tools,代码行数:32,


示例8: _tk_rcv_mbf_u

SYSCALL INT _tk_rcv_mbf_u( ID mbfid, void *msg, TMO_U tmout ){	MBFCB	*mbfcb;	TCB	*tcb;	INT	rcvsz;	ER	ercd = E_OK;	CHECK_MBFID(mbfid);	CHECK_TMOUT(tmout);	CHECK_DISPATCH();	mbfcb = get_mbfcb(mbfid);	BEGIN_CRITICAL_SECTION;	if (mbfcb->mbfid == 0) {		ercd = E_NOEXS;		goto error_exit;	}	/* Check receive wait disable */	if ( is_diswai((GCB*)mbfcb, ctxtsk, TTW_RMBF) ) {		ercd = E_DISWAI;		goto error_exit;	}	if ( !mbf_empty(mbfcb) ) {		/* Read from message buffer */		rcvsz = mbf_to_msg(mbfcb, msg);		/* Accept message from sending task(s) */		mbf_wakeup(mbfcb);	} else if ( !isQueEmpty(&mbfcb->send_queue) ) {		/* Receive directly from send wait task */		tcb = (TCB*)mbfcb->send_queue.next;		rcvsz = tcb->winfo.smbf.msgsz;		memcpy(msg, tcb->winfo.smbf.msg, (UINT)rcvsz);		wait_release_ok(tcb);		mbf_wakeup(mbfcb);	} else {		ercd = E_TMOUT;		if ( tmout != TMO_POL ) {			/* Ready for receive wait */			ctxtsk->wspec = &wspec_rmbf;			ctxtsk->wid = mbfid;			ctxtsk->wercd = &ercd;			ctxtsk->winfo.rmbf.msg = msg;			ctxtsk->winfo.rmbf.p_msgsz = &rcvsz;			make_wait(tmout, mbfcb->mbfatr);			QueInsert(&ctxtsk->tskque, &mbfcb->recv_queue);		}	}    error_exit:	END_CRITICAL_SECTION;	return ( ercd < E_OK )? ercd: rcvsz;}
开发者ID:Ninals-GitHub,项目名称:TRON,代码行数:58,


示例9: trcv_pdq

ERtrcv_pdq(ID pdqid, intptr_t *p_data, PRI *p_datapri, TMO tmout){	PDQCB	*p_pdqcb;	WINFO_PDQ winfo_pdq;	TMEVTB	tmevtb;	bool_t	dspreq;	ER		ercd;	LOG_TRCV_PDQ_ENTER(pdqid, p_data, p_datapri, tmout);	CHECK_DISPATCH();	CHECK_PDQID(pdqid);	CHECK_MACV_WRITE(p_data, intptr_t);	CHECK_MACV_WRITE(p_datapri, PRI);	CHECK_TMOUT(tmout);	p_pdqcb = get_pdqcb(pdqid);	t_lock_cpu();	if (p_pdqcb->p_pdqinib->pdqatr == TA_NOEXS) {		ercd = E_NOEXS;	}	else if (VIOLATE_ACPTN(p_pdqcb->p_pdqinib->acvct.acptn2)) {		ercd = E_OACV;	}	else if (receive_pridata(p_pdqcb, p_data, p_datapri, &dspreq)) {		if (dspreq) {			dispatch();		}		ercd = E_OK;	}	else if (tmout == TMO_POL) {		ercd = E_TMOUT;	}	else if (p_runtsk->waifbd) {		ercd = E_RLWAI;	}	else {		p_runtsk->tstat = (TS_WAITING | TS_WAIT_RPDQ);		make_wait_tmout(&(winfo_pdq.winfo), &tmevtb, tmout);		queue_insert_prev(&(p_pdqcb->rwait_queue), &(p_runtsk->task_queue));		winfo_pdq.p_pdqcb = p_pdqcb;		LOG_TSKSTAT(p_runtsk);		dispatch();		ercd = winfo_pdq.winfo.wercd;		if (ercd == E_OK) {			*p_data = winfo_pdq.data;			*p_datapri = winfo_pdq.datapri;		}	}	t_unlock_cpu();  error_exit:	LOG_TRCV_PDQ_LEAVE(ercd, *p_data, *p_datapri);	return(ercd);}
开发者ID:yuyaotsuka,项目名称:etrobo,代码行数:56,


示例10: loc_mtx

ERloc_mtx(ID mtxid){	MTXCB		*p_mtxcb;	WINFO_MTX	winfo_mtx;	ER			ercd;	LOG_LOC_MTX_ENTER(mtxid);	CHECK_DISPATCH();	CHECK_ID(VALID_MTXID(mtxid));	p_mtxcb = get_mtxcb(mtxid);	lock_cpu_dsp();	if (p_mtxcb->p_mtxinib->mtxatr == TA_NOEXS) {		ercd = E_NOEXS;	}	else if (VIOLATE_ACPTN(p_mtxcb->p_mtxinib->acvct.acptn1)) {		ercd = E_OACV;	}	else if (MTX_CEILING(p_mtxcb)			&& p_mtxcb->p_mtxinib->ceilpri < p_runtsk->p_dominib->minpriority			&& VIOLATE_ACPTN(p_runtsk->p_dominib->acvct.acptn2)) {		ercd = E_OACV;									/*[NGKI5124]*/	}	else if (p_runtsk->raster) {		ercd = E_RASTER;	}	else if (MTX_CEILING(p_mtxcb)				&& p_runtsk->bpriority < p_mtxcb->p_mtxinib->ceilpri) {		ercd = E_ILUSE;	}	else if (p_mtxcb->p_loctsk == NULL) {		mutex_acquire(p_runtsk, p_mtxcb);		/*		 *  
C++ CHECK_DISPLAY函数代码示例
C++ CHECK_CONTEXT函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。