wireplumber/lib/wp
Julian Bouzas 844100360c proxy: abort activation if error or destroyed
This fixes a race condition that can happen when a proxy requests a new feature
(for example WP_NODE_FEATURE_PORTS) and PipeWire destroys the proxy before the
activation finishes. This race condition was causing the current activation
transition of a proxy to never finish, creating a memory leak because the
transition holds a strong reference of the proxy. Appart from this, since the
activation never finishes, WirePlumber could wait forever and not respond to
other requests.

This also removes the wp_proxy_watch_bind_error() API for subclasses as it is
not needed anymore.
2021-12-13 08:37:07 -05:00
..
private pipewire-object: change params-changed signal to take a string param name 2021-06-09 13:29:34 +03:00
client.c client: add _send_error() method 2021-10-13 11:09:11 +03:00
client.h client: add _send_error() method 2021-10-13 11:09:11 +03:00
component-loader.c docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
component-loader.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
core.c docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
core.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
defs.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
device.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
device.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
endpoint.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
endpoint.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
error.c docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
error.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
factory.c wp-factory: enumerate pw_factory objects 2021-10-19 05:46:46 +00:00
factory.h wp-factory: enumerate pw_factory objects 2021-10-19 05:46:46 +00:00
global-proxy.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
global-proxy.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
iterator.c lib: correct documentation for wp_iterator_fold/foreach 2021-11-18 12:09:57 +00:00
iterator.h lib: Use #define instead of 'static const' for constants 2021-06-24 09:24:16 -04:00
link.c docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
link.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
log.c log: support strings as level selectors in WIREPLUMBER_DEBUG 2021-11-18 12:17:19 +00:00
log.h wp: rename debug.{h,c} to log.{h,c} 2021-05-06 15:50:07 +03:00
meson.build wp-factory: enumerate pw_factory objects 2021-10-19 05:46:46 +00:00
metadata.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
metadata.h metadata: use pw_impl_metadata for WpImplMetadata 2021-09-17 09:08:48 -04:00
module.c docs: impl-module: add since markers and improve the Lua doc appearence 2021-08-19 17:58:07 +03:00
module.h docs: impl-module: add since markers and improve the Lua doc appearence 2021-08-19 17:58:07 +03:00
node.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
node.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
object-interest.c object-interest: remove unused _copy() method 2021-06-07 17:56:32 +03:00
object-interest.h lib: Use #define instead of 'static const' for constants 2021-06-24 09:24:16 -04:00
object-manager.c wp: fixup tmp_global exposition with removed objects 2021-11-25 16:39:11 +00:00
object-manager.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
object.c object: add new _abort_activation API 2021-12-13 08:37:01 -05:00
object.h object: add new _abort_activation API 2021-12-13 08:37:01 -05:00
plugin.c docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
plugin.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
port.c lua: add Port.get_direction() + documentation for it 2021-06-30 19:51:21 +03:00
port.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
properties.c properties: adjust documentation for the recent WpPropertiesItem changes 2021-08-11 20:25:16 +03:00
properties.h properties: use a boxed WpPropertiesItem type when iterating 2021-07-15 08:55:00 -04:00
proxy-interfaces.c pipewire-object: change params-changed signal to take a string param name 2021-06-09 13:29:34 +03:00
proxy-interfaces.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
proxy.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
proxy.h proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
session-item.c session-item: fix reference leak when getting properties 2021-07-02 11:59:42 -04:00
session-item.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
si-factory.c docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
si-factory.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
si-interfaces.c docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
si-interfaces.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
spa-pod.c spa-pod: accept NULL object/struct/pod in a property field 2021-10-13 11:51:22 +03:00
spa-pod.h spa-pod: add _filter() method 2021-10-13 11:10:32 +03:00
spa-type.c default-routes: save and restore iec958Codecs 2021-10-04 10:11:03 +00:00
spa-type.h docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
state.c wp: make wp_get_xdg_state_dir() private 2021-08-19 10:06:37 +03:00
state.h state: remove support for groups and propagate save errors 2021-06-04 18:36:19 +03:00
transition.c Fix some typos 2021-11-18 12:09:57 +00:00
transition.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
wp.c lib: don't read hidden files from the config directory 2021-11-21 07:48:07 +00:00
wp.h wp-factory: enumerate pw_factory objects 2021-10-19 05:46:46 +00:00
wpversion.h.in lib: add a version header 2020-06-02 18:26:40 +03:00