diff options
Diffstat (limited to 'src/player_control.c')
-rw-r--r-- | src/player_control.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/player_control.c b/src/player_control.c index 42dc9e1c0..1828a1ca0 100644 --- a/src/player_control.c +++ b/src/player_control.c @@ -72,10 +72,8 @@ pc_song_deleted(const struct song *song) static void player_command_wait_locked(void) { - while (pc.command != PLAYER_COMMAND_NONE) { - player_signal(); + while (pc.command != PLAYER_COMMAND_NONE) g_cond_wait(main_cond, pc.mutex); - } } static void @@ -84,6 +82,7 @@ player_command_locked(enum player_command cmd) assert(pc.command == PLAYER_COMMAND_NONE); pc.command = cmd; + player_signal(); player_command_wait_locked(); } |