From 341f44fa24dfff910c34e0cd8c4819e88231cff6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 4 Mar 2009 05:27:49 +0100 Subject: fix handling of _suspend_all(), return first failure error code --- src/pulsecore/sink.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/pulsecore/sink.c') diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index ed68dd8e..667ae761 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -1605,8 +1605,12 @@ int pa_sink_suspend_all(pa_core *c, pa_bool_t suspend) { pa_core_assert_ref(c); - for (sink = PA_SINK(pa_idxset_first(c->sinks, &idx)); sink; sink = PA_SINK(pa_idxset_next(c->sinks, &idx))) - ret -= pa_sink_suspend(sink, suspend) < 0; + for (sink = PA_SINK(pa_idxset_first(c->sinks, &idx)); sink; sink = PA_SINK(pa_idxset_next(c->sinks, &idx))) { + int r; + + if ((r = pa_sink_suspend(sink, suspend)) < 0) + ret = r; + } return ret; } -- cgit