aboutsummaryrefslogtreecommitdiffstats
path: root/src/output
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-07-20 21:09:39 +0200
committerMax Kellermann <max@duempel.org>2011-07-20 21:09:39 +0200
commit0035dceb0acd702b7e128a4ba00331e3db5be963 (patch)
treea187ceb0db83eea3e620003487496cee1a485227 /src/output
parentb159bc0c5f64dd4030f18cfa38539c5851d5157d (diff)
downloadmpd-0035dceb0acd702b7e128a4ba00331e3db5be963.tar.gz
mpd-0035dceb0acd702b7e128a4ba00331e3db5be963.tar.xz
mpd-0035dceb0acd702b7e128a4ba00331e3db5be963.zip
output/raop: add missing mutex unlock call in error handler
Diffstat (limited to '')
-rw-r--r--src/output/raop_output_plugin.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/output/raop_output_plugin.c b/src/output/raop_output_plugin.c
index a73ab2bdc..41ea8caa5 100644
--- a/src/output/raop_output_plugin.c
+++ b/src/output/raop_output_plugin.c
@@ -1287,6 +1287,7 @@ raop_output_open(void *data, struct audio_format *audio_format, GError **error_r
if ((raop_session->ctrl.fd = open_udp_socket(NULL, &raop_session->ctrl.port)) == -1) {
close(raop_session->ntp.fd);
raop_session->ctrl.fd = -1;
+ pthread_mutex_unlock(&raop_session->list_mutex);
return false;
}
}
@@ -1363,6 +1364,7 @@ raop_output_play(void *data, const void *chunk, size_t size,
iter = raop_session->raop_list;
while (iter) {
if (!send_control_command(&raop_session->ctrl, iter, &raop_session->play_state)) {
+ pthread_mutex_unlock(&raop_session->list_mutex);
g_set_error(error_r, raop_output_quark(), -1,
"Unable to send control command");
goto erexit;