Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 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);
}
Exemplo n.º 4
0
CavanThread::~CavanThread(void)
{
	cavan_thread_stop(&mThread);
	cavan_thread_deinit(&mThread);
}