wireplumber/lib/wp
George Kiagiadakis a965196ae2 registry: ensure in-progress activations are aborted when a global is removed
If a global is removed while an activation transition is in progress
and it happens that this activation transition was triggered by an
object manager, it is theoretically possible that this object manager
will then add this proxy after the transition completes, since
the transition is holding a ref on the proxy and therefore it will
not be destroyed. This ensures that the transitions are stopped on time
and the ref is dropped.

Because of this change, it is now also necessary to destroy the pw_proxy
on WpProxy's dispose() function, because if a proxy is removed before
it is bound, the registry aborts the activation but wp_proxy_deactivate()
is not destroying the proxy, since FEATURE_BOUND is not active.
In dispose() we can guarantee that the pw_proxy is destroyed.
2021-12-22 12:51:37 +02:00
..
private pipewire-obj-mixin: guard against proxy being destroyed while syncing to core 2021-12-21 20:06:07 +02: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 core: add wp_core_sync_closure() 2021-12-21 20:03:58 +02:00
core.h core: add wp_core_sync_closure() 2021-12-21 20:03:58 +02: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: guard against NULL messages 2021-12-20 17:54:14 +02: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 metadata: unset iterator value before breaking or returning from loop 2021-12-20 09:54:05 +00: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 registry: ensure in-progress activations are aborted when a global is removed 2021-12-22 12:51:37 +02: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 registry: ensure in-progress activations are aborted when a global is removed 2021-12-22 12:51:37 +02: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