aboutsummaryrefslogtreecommitdiffstats
path: root/src/player_control.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/player_control.c5
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();
}