⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 task.c

📁 wimax BS simulation code,implemented under linux.
💻 C
字号:
/* * This piece of code is totally free. If any pitfalls found,  * please feel free to contact me at jetmotor@21cn.com * THANKS A LOT! */#include "task.h"#include "wxtimer.h"#include "wxsched.h"#include "prov.h"ringq_t tq_data_tx;ringq_t tq_logger;ringq_t tq_bst_tx;ringq_t tq_bst_rx;ringq_t tq_sig_rx;ringq_t tq_bwr_rx;sem_t   sem_usched;sem_t   sem_dsched;task_t tasks[TASK_BOTTOM];void init_task(){	wxtimer_init();	usched_init();	dsched_init();	tasks[TASK_TIMER].function	= do_task_timer;	tasks[TASK_TIMER].arg		= NULL;	tasks[TASK_PHY_TX].function	= do_task_phy_tx;	tasks[TASK_PHY_TX].arg		= &prov;	tasks[TASK_PHY_RX].function	= do_task_phy_rx;	tasks[TASK_PHY_RX].arg		= &prov;	tasks[TASK_UL_SCHED].function	= do_task_ulsched;	tasks[TASK_UL_SCHED].arg	= NULL;	tasks[TASK_DL_SCHED].function	= do_task_dlsched;	tasks[TASK_DL_SCHED].arg	= NULL;	tasks[TASK_BURST_DECODE].function = do_task_burst_decode;	tasks[TASK_BURST_DECODE].arg	= NULL;	tasks[TASK_SIG].function	= do_task_sig;	tasks[TASK_SIG].arg		= NULL;	//tasks[TASK_CS_TX].function	= do_task_cs_tx;	//tasks[TASK_CS_TX].arg		= NULL;	//tasks[TASK_LOGGER].function	= do_task_logger;	//tasks[TASK_LOGGER].arg	= NULL;	ringq_init(&tq_data_tx);	ringq_init(&tq_logger);	ringq_init(&tq_bst_tx);	ringq_init(&tq_bst_rx);	ringq_init(&tq_sig_rx);	ringq_init(&tq_bwr_rx);	sem_init(&sem_dsched, 0, 0);	sem_init(&sem_usched, 0, 0);}int start_task(){	int i, ret;	for ( i = 0; i < TASK_BOTTOM; i++ ) {		//if ( i == TASK_BURST_DECODE || i == TASK_SIG )		//continue;		if ((ret = pthread_create(&(tasks[i].id), 0, tasks[i].function, tasks[i].arg)) != 0)			return ret;	}	return 0;}void stop_task(){	int i;	for ( i = 0; i < TASK_BOTTOM; i++ ) {		pthread_cancel(tasks[i].id);		pthread_join(tasks[i].id, 0);	}}void term_task(){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -