예제 #1
0
파일: musicmgr.c 프로젝트: azuwis/xreader
int music_free(void)
{
	int ret;
	unsigned to = 500000;

	cache_on(false);

	music_lock();

	ret = -1;

	while (ret != 0) {
		ret = music_stop();
		if (ret != 0)
			xrKernelDelayThread(100000);
	}

	g_list.is_list_playing = 0;
	g_thread_actived = 0;
	music_unlock();
	free_shuffle_data();

	if (xrKernelWaitThreadEnd(g_music_thread, &to) != 0) {
		xrKernelTerminateDeleteThread(g_music_thread);
	} else {
		xrKernelDeleteThread(g_music_thread);
	}

	xr_lock_destroy(&music_l);

	return 0;
}
예제 #2
0
int generic_end(void)
{
	xr_lock_destroy(&generic_l);
	generic_set_playback(false);

	return 0;
}
예제 #3
0
void cache_free(void)
{
	cache_on(false);

	xr_lock_destroy(&cacher_locker);

	if (cache_del_event >= 0) {
		xrKernelDeleteEventFlag(cache_del_event);
		cache_del_event = -1;
	}
}
예제 #4
0
int freq_free()
{
	xr_lock_destroy(&freq_l);

	return 0;
}
예제 #5
0
파일: ctrl.c 프로젝트: azuwis/xreader
extern void ctrl_destroy(void)
{
#ifdef ENABLE_HPRM
	xr_lock_destroy(&hprm_l);
#endif
}