playlist: Fix mutex initialization
This is a one-time thing; make sure it doesn't happen more than once. Change-Id: Ic42f48e5714dff2906c252ecd091989d2d6e5a86
This commit is contained in:
parent
2a40d42012
commit
ce52d0c870
2 changed files with 12 additions and 9 deletions
|
@ -592,13 +592,6 @@ static void empty_playlist_unlocked(struct playlist_info* playlist, bool resume)
|
|||
}
|
||||
}
|
||||
|
||||
/* initializes the mutex for a new playlist and sets it as empty */
|
||||
static void initalize_new_playlist(struct playlist_info* playlist, bool resume)
|
||||
{
|
||||
mutex_init(&(playlist->mutex));
|
||||
empty_playlist_unlocked(playlist, resume);
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns absolute path of track
|
||||
*
|
||||
|
@ -668,7 +661,7 @@ static void new_playlist_unlocked(struct playlist_info* playlist,
|
|||
const char *fileused = file;
|
||||
const char *dirused = dir;
|
||||
|
||||
initalize_new_playlist(playlist, false);
|
||||
empty_playlist_unlocked(playlist, false);
|
||||
|
||||
if (!fileused)
|
||||
{
|
||||
|
@ -2079,6 +2072,7 @@ void playlist_init(void)
|
|||
{
|
||||
int handle;
|
||||
struct playlist_info* playlist = ¤t_playlist;
|
||||
mutex_init(&playlist->mutex);
|
||||
|
||||
strmemccpy(playlist->control_filename, PLAYLIST_CONTROL_FILE,
|
||||
sizeof(playlist->control_filename));
|
||||
|
@ -2089,7 +2083,7 @@ void playlist_init(void)
|
|||
handle = core_alloc_ex(playlist->max_playlist_size * sizeof(*playlist->indices), &ops);
|
||||
playlist->indices = core_get_data(handle);
|
||||
|
||||
initalize_new_playlist(playlist, true);
|
||||
empty_playlist_unlocked(playlist, true);
|
||||
|
||||
#ifdef HAVE_DIRCACHE
|
||||
playlist->dcfrefs_handle = core_alloc(
|
||||
|
|
|
@ -119,6 +119,7 @@ static struct playlist_viewer viewer;
|
|||
|
||||
/* Used when viewing playlists on disk */
|
||||
static struct playlist_info temp_playlist;
|
||||
static bool temp_playlist_init = false;
|
||||
|
||||
static bool dirty = false;
|
||||
|
||||
|
@ -365,6 +366,14 @@ static bool playlist_viewer_init(struct playlist_viewer * viewer,
|
|||
char *index_buffer = NULL;
|
||||
ssize_t index_buffer_size = 0;
|
||||
|
||||
/* Initialize temp playlist
|
||||
* TODO - move this to playlist.c */
|
||||
if (!temp_playlist_init)
|
||||
{
|
||||
mutex_init(&temp_playlist.mutex);
|
||||
temp_playlist_init = true;
|
||||
}
|
||||
|
||||
viewer->playlist = &temp_playlist;
|
||||
|
||||
/* Separate directory from filename */
|
||||
|
|
Loading…
Reference in a new issue