示例#1
0
文件: thread.c 项目: FuangCao/cavan
int cavan_thread_run_self(struct cavan_thread *thread, void *data, int flags)
{
	int ret;

	ret = cavan_thread_init(thread, data, flags);
	if (ret < 0) {
		pr_red_info("cavan_thread_init");
		return ret;
	}

	cavan_thread_main_loop(thread);
	cavan_thread_deinit(thread);

	return 0;
}
示例#2
0
文件: thread.c 项目: FuangCao/cavan
int cavan_thread_run(struct cavan_thread *thread, void *data, int flags)
{
	int ret;

	ret = cavan_thread_init(thread, data, flags);
	if (ret < 0) {
		pr_red_info("cavan_thread_init");
		return ret;
	}

	ret = cavan_thread_start(thread);
	if (ret < 0) {
		pr_red_info("cavan_thread_start");
		goto out_cavan_thread_deinit;
	}

	return 0;

out_cavan_thread_deinit:
	cavan_thread_deinit(thread);
	return ret;
}
示例#3
0
void cavan_alarm_thread_deinit(struct cavan_alarm_thread *thread)
{
	cavan_thread_deinit(&thread->thread);
	double_link_deinit(&thread->link);
	pthread_mutex_destroy(&thread->lock);
}
示例#4
0
文件: Thread.cpp 项目: FuangCao/cavan
CavanThread::~CavanThread(void)
{
	cavan_thread_stop(&mThread);
	cavan_thread_deinit(&mThread);
}