On 19.02.2018 15:48, Tanu Kaskinen wrote: > Suspending never fails. > --- > src/modules/alsa/alsa-sink.c | 9 ++------- > src/modules/alsa/alsa-source.c | 9 ++------- > src/modules/module-solaris.c | 18 +++++++----------- > src/modules/oss/module-oss.c | 16 +++++----------- > 4 files changed, 16 insertions(+), 36 deletions(-) > > diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c > index a80caab2e..44f006b1f 100644 > --- a/src/modules/alsa/alsa-sink.c > +++ b/src/modules/alsa/alsa-sink.c > @@ -939,7 +939,7 @@ static int build_pollfd(struct userdata *u) { > } > > /* Called from IO context */ > -static int suspend(struct userdata *u) { > +static void suspend(struct userdata *u) { > pa_assert(u); > pa_assert(u->pcm_handle); > > @@ -964,8 +964,6 @@ static int suspend(struct userdata *u) { > pa_sink_set_max_request_within_thread(u->sink, 0); > > pa_log_info("Device suspended..."); > - > - return 0; > } > > /* Called from IO context */ > @@ -1192,12 +1190,9 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse > switch ((pa_sink_state_t) PA_PTR_TO_UINT(data)) { > > case PA_SINK_SUSPENDED: { > - int r; > - > pa_assert(PA_SINK_IS_OPENED(u->sink->thread_info.state)); > > - if ((r = suspend(u)) < 0) > - return r; > + suspend(u); > > break; > } > diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c > index 3f87a4792..608cb0d63 100644 > --- a/src/modules/alsa/alsa-source.c > +++ b/src/modules/alsa/alsa-source.c > @@ -837,7 +837,7 @@ static int build_pollfd(struct userdata *u) { > } > > /* Called from IO context */ > -static int suspend(struct userdata *u) { > +static void suspend(struct userdata *u) { > pa_assert(u); > pa_assert(u->pcm_handle); > > @@ -853,8 +853,6 @@ static int suspend(struct userdata *u) { > } > > pa_log_info("Device suspended..."); > - > - return 0; > } > > /* Called from IO context */ > @@ -1047,12 +1045,9 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off > switch ((pa_source_state_t) PA_PTR_TO_UINT(data)) { > > case PA_SOURCE_SUSPENDED: { > - int r; > - > pa_assert(PA_SOURCE_IS_OPENED(u->source->thread_info.state)); > > - if ((r = suspend(u)) < 0) > - return r; > + suspend(u); > > break; > } > diff --git a/src/modules/module-solaris.c b/src/modules/module-solaris.c > index 880aa43e7..a4960b8b7 100644 > --- a/src/modules/module-solaris.c > +++ b/src/modules/module-solaris.c > @@ -348,7 +348,7 @@ static int open_audio_device(struct userdata *u, pa_sample_spec *ss) { > return u->fd; > } > > -static int suspend(struct userdata *u) { > +static void suspend(struct userdata *u) { > pa_assert(u); > pa_assert(u->fd >= 0); > > @@ -364,8 +364,6 @@ static int suspend(struct userdata *u) { > } > > pa_log_info("Device suspended."); > - > - return 0; > } > > static int unsuspend(struct userdata *u) { > @@ -403,10 +401,9 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse > > pa_smoother_pause(u->smoother, pa_rtclock_now()); > > - if (!u->source || u->source_suspended) { > - if (suspend(u) < 0) > - return -1; > - } > + if (!u->source || u->source_suspended) > + suspend(u); > + > u->sink_suspended = true; > break; > > @@ -457,10 +454,9 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off > > pa_assert(PA_SOURCE_IS_OPENED(u->source->thread_info.state)); > > - if (!u->sink || u->sink_suspended) { > - if (suspend(u) < 0) > - return -1; > - } > + if (!u->sink || u->sink_suspended) > + suspend(u); > + > u->source_suspended = true; > break; > > diff --git a/src/modules/oss/module-oss.c b/src/modules/oss/module-oss.c > index 93b55ad8b..fb978b5ee 100644 > --- a/src/modules/oss/module-oss.c > +++ b/src/modules/oss/module-oss.c > @@ -485,7 +485,7 @@ static void build_pollfd(struct userdata *u) { > } > > /* Called from IO context */ > -static int suspend(struct userdata *u) { > +static void suspend(struct userdata *u) { > pa_assert(u); > pa_assert(u->fd >= 0); > > @@ -530,8 +530,6 @@ static int suspend(struct userdata *u) { > } > > pa_log_info("Device suspended..."); > - > - return 0; > } > > /* Called from IO context */ > @@ -670,10 +668,8 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse > case PA_SINK_SUSPENDED: > pa_assert(PA_SINK_IS_OPENED(u->sink->thread_info.state)); > > - if (!u->source || u->source_suspended) { > - if (suspend(u) < 0) > - return -1; > - } > + if (!u->source || u->source_suspended) > + suspend(u); > > do_trigger = true; > > @@ -753,10 +749,8 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off > case PA_SOURCE_SUSPENDED: > pa_assert(PA_SOURCE_IS_OPENED(u->source->thread_info.state)); > > - if (!u->sink || u->sink_suspended) { > - if (suspend(u) < 0) > - return -1; > - } > + if (!u->sink || u->sink_suspended) > + suspend(u); > > do_trigger = true; > LGTM