handle cleanup of remote proxies

Destroying a resource informs the client to destroy the proxy.
Destroying an object destroys all the bound resources on it.
This commit is contained in:
Wim Taymans 2016-12-02 17:14:32 +01:00
parent e6f45a7686
commit 5e8a3afe17
8 changed files with 38 additions and 4 deletions

View file

@ -630,6 +630,7 @@ pinos_node_destroy (PinosNode * this)
{
SpaResult res;
PinosNodeImpl *impl = SPA_CONTAINER_OF (this, PinosNodeImpl, this);
PinosResource *resource, *tmp;
pinos_log_debug ("node %p: destroy", impl);
pinos_signal_emit (&this->destroy_signal, this);
@ -637,6 +638,9 @@ pinos_node_destroy (PinosNode * this)
spa_list_remove (&this->link);
pinos_global_destroy (this->global);
spa_list_for_each_safe (resource, tmp, &this->resource_list, link)
pinos_resource_destroy (resource);
res = pinos_loop_invoke (this->data_loop->loop,
do_node_remove,
impl->seq++,