Esempio n. 1
0
File: timer.c Progetto: fshunj/LCUI
/* 创建一个线程以处理定时器 */
static int timer_thread_start( LCUI_Thread *tid, LCUI_Queue *list )
{
	/* 初始化列表 */
	TimerList_Init( list );
	timer_thread_active = TRUE;
	/* 创建用于处理定时器列表的线程 */
	return _LCUIThread_Create( tid, TimerThread, list );
}
Esempio n. 2
0
LCUIThread_Create( LCUI_Thread *tidp, void (*start_rtn)(void*), void * arg )
{
	Thread_TreeNode *tt;
	LCUI_Thread cur_tid;
	
	/* 先获取当前所在线程的ID */
	cur_tid = LCUIThread_SelfID();
	/* 在线程树中查找匹配的线程ID,并得到该结点的指针 */
	tt = ThreadTree_Find( &thread_tree, cur_tid );
	/* 如果没有搜索到,那就新增,并获得该结点指针 */
	if(tt == NULL) {
		tt = ThreadTreeNode_AddNew( &thread_tree, cur_tid );
		if(tt == NULL) {
			return -1; 
		}
	}
	_LCUIThread_Create( tidp, start_rtn, arg );
	/* 将得到的线程ID添加至结点 */
	ThreadTreeNode_AddNew( tt, *tidp );
	return 0;
}
Esempio n. 3
0
/** 初始化设备处理模块 */
LCUI_API int LCUIModule_Device_Init(void)
{
	dev_list_init( &dev_list );
	return _LCUIThread_Create(	&LCUI_Sys.dev_thread,
					proc_dev_list, &dev_list );
}