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/decoder_control.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/decoder_control.c') diff --git a/src/decoder_control.c b/src/decoder_control.c index 10f576c5c..9844b6918 100644 --- a/src/decoder_control.c +++ b/src/decoder_control.c @@ -44,10 +44,8 @@ dc_deinit(struct decoder_control *dc) static void dc_command_wait_locked(struct decoder_control *dc) { - while (dc->command != DECODE_COMMAND_NONE) { - decoder_signal(dc); + while (dc->command != DECODE_COMMAND_NONE) player_wait_decoder(dc); - } } void @@ -62,6 +60,7 @@ static void dc_command_locked(struct decoder_control *dc, enum decoder_command cmd) { dc->command = cmd; + decoder_signal(dc); dc_command_wait_locked(dc); } -- cgit v1.2.3