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.
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;
}
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;
}