From 64a481d8732cc45b01b70d18cf95e1374b7dcba7 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 2 Nov 2009 17:12:00 +0100 Subject: {decoder,player}_control: removed duplicate wakeups Don't wake up the target thread in every iteration of the wait() loop. Waking it up once, right after the command has been set, must be enough. --- src/player_control.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/player_control.c') 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(); } -- cgit v1.2.3