summaryrefslogtreecommitdiff
path: root/src/modules/rkt
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2023-08-14 08:28:59 -0700
committerVito Caputo <vcaputo@pengaru.com>2023-08-14 08:44:24 -0700
commit4052b22c34a6fa0860781addf5bd2c21e6067bec (patch)
tree74d3b9f0f841e61cdc47e4d8a88d81b3e798cf8b /src/modules/rkt
parentde93f4460263c6d515abd421b6f83a763d1e3c65 (diff)
modules/rkt: gc module contexts after scener edits
This triggers immediate cleanup of the replaced context. It's being done after the new context is fully installed as the replacement, with an eye towards enabling a baton style handoff of the existing context's owned pipes to the replacement, for taps they have in common. That's not being done yet, but it'd be impossible if the gc occurred before creating the replacement, since the existing context's pipes would already be untapped (and removed).
Diffstat (limited to 'src/modules/rkt')
-rw-r--r--src/modules/rkt/rkt_scener.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/modules/rkt/rkt_scener.c b/src/modules/rkt/rkt_scener.c
index d48caea..446b998 100644
--- a/src/modules/rkt/rkt_scener.c
+++ b/src/modules/rkt/rkt_scener.c
@@ -1272,6 +1272,7 @@ int rkt_scener_update(rkt_context_t *ctxt)
assert(scener->scene < ctxt->n_scenes);
ctxt->scenes[scener->scene].module_ctxt = til_module_context_free(ctxt->scenes[scener->scene].module_ctxt);
ctxt->scenes[scener->scene].module_ctxt = module_ctxt;
+ til_stream_gc_module_contexts(ctxt->til_module_context.stream);
}
}
© All Rights Reserved