j***@gmail.com
2018-06-28 03:08:40 UTC
constification round #4 (pa_mainloop_api)
26 patches in total. I attached a zipped copy also.
The first 19 avoid (client) API change; the final 7 do not and will
have to wait until ready and happy to do an API bump.
I'm not certain if there's a public API for 3rd-party modules, but if
so then I can anticipate issue being taken with respect to
pa_iochannel_get_mainloop_api() in #14. Unpicking that though would not
be so easy :/
It's possible for patches #21, #23 and #24 to be bumped down before the
API change of #20, but as things are they are blocked by it and it
would require a temporary hack... #23 and #24 (utils) depend upon
pa_signal_init(), done in #21 which involves changing the underlying
static; this depends upon changing pa_signal_destroy_cb_t (#20),
because of the way pa_signal_free() works (passing that static api ref
to the destroy callback which requires non-const). Getting around this
would require injecting a temporary hack into pa_signal_free() giving
alternate means of obtaining a non-const api pointer - i.e. api
function pointer comparison would be necessary to tell us which
mainloop is in use, to then get what we need using the correct
*_get_api() with api->userdata.
26 patches in total. I attached a zipped copy also.
The first 19 avoid (client) API change; the final 7 do not and will
have to wait until ready and happy to do an API bump.
I'm not certain if there's a public API for 3rd-party modules, but if
so then I can anticipate issue being taken with respect to
pa_iochannel_get_mainloop_api() in #14. Unpicking that though would not
be so easy :/
It's possible for patches #21, #23 and #24 to be bumped down before the
API change of #20, but as things are they are blocked by it and it
would require a temporary hack... #23 and #24 (utils) depend upon
pa_signal_init(), done in #21 which involves changing the underlying
static; this depends upon changing pa_signal_destroy_cb_t (#20),
because of the way pa_signal_free() works (passing that static api ref
to the destroy callback which requires non-const). Getting around this
would require injecting a temporary hack into pa_signal_free() giving
alternate means of obtaining a non-const api pointer - i.e. api
function pointer comparison would be necessary to tell us which
mainloop is in use, to then get what we need using the correct
*_get_api() with api->userdata.