Hi Jarkko, On Tue, May 22, 2012 at 3:58 PM, Jarkko Suontausta <jarkko.suontausta at digia.com> wrote: > Based on a patch by Marko Ollonen. > --- > ?src/modules/bluetooth/module-bluetooth-device.c | ? 13 ++++++++++--- > ?1 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c > index 0b12cc7..68c4efc 100644 > --- a/src/modules/bluetooth/module-bluetooth-device.c > +++ b/src/modules/bluetooth/module-bluetooth-device.c > @@ -1731,11 +1731,18 @@ static void thread_func(void *userdata) { > ? ? ? ? ? ? pollfd->events = (short) (((u->sink && PA_SINK_IS_LINKED(u->sink->thread_info.state) && !writable) ? POLLOUT : 0) | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (u->source && PA_SOURCE_IS_LINKED(u->source->thread_info.state) ? POLLIN : 0)); > > - ? ? ? ?if ((ret = pa_rtpoll_run(u->rtpoll, TRUE)) < 0) > + ? ? ? ?if ((ret = pa_rtpoll_run(u->rtpoll, TRUE)) < 0) { > + ? ? ? ? ? ?pa_log_debug("pa_rtpoll_run failed with: %d", ret); > ? ? ? ? ? ? goto fail; > - > - ? ? ? ?if (ret == 0) > + ? ? ? ?} > + ? ? ? ?if (ret == 0) { > + ? ? ? ? ? ?pa_log_debug("IO thread shutdown requested, stopping cleanly"); > + ? ? ? ? ? ?if (u->transport) > + ? ? ? ? ? ? ? ?bt_transport_release(u); > + ? ? ? ? ? ?else > + ? ? ? ? ? ? ? ?stop_stream_fd(u); > ? ? ? ? ? ? goto finish; > + ? ? ? ?} > > ? ? ? ? pollfd = u->rtpoll_item ? pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL) : NULL; > > -- > 1.7.0.4 Looks good, ack. -- Luiz Augusto von Dentz