alsa: add a couple of FIXME comments
authorTanu Kaskinen <tanuk@iki.fi>
Mon, 19 Feb 2018 14:48:21 +0000 (16:48 +0200)
committerTanu Kaskinen <tanuk@iki.fi>
Fri, 23 Feb 2018 11:35:47 +0000 (13:35 +0200)
build_pollfd() isn't likely to fail, but if it does, pa_sink/source_put()
will crash on an assertion failure. I haven't seen such crash happening,
this is just something that I noticed while studying the state change
code.

src/modules/alsa/alsa-sink.c
src/modules/alsa/alsa-source.c

index fe0a21a..309d726 100644 (file)
@@ -1203,6 +1203,9 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
 
                     if (u->sink->thread_info.state == PA_SINK_INIT) {
                         if (build_pollfd(u) < 0)
+                            /* FIXME: This will cause an assertion failure in
+                             * pa_sink_put(), because with the current design
+                             * pa_sink_put() is not allowed to fail. */
                             return -PA_ERR_IO;
                     }
 
index b11a03f..adaa42c 100644 (file)
@@ -1058,6 +1058,9 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off
 
                     if (u->source->thread_info.state == PA_SOURCE_INIT) {
                         if (build_pollfd(u) < 0)
+                            /* FIXME: This will cause an assertion failure in
+                             * pa_source_put(), because with the current design
+                             * pa_source_put() is not allowed to fail. */
                             return -PA_ERR_IO;
                     }