1.1 --- a/libresource/lib/src/resource_server.cc Wed Mar 22 17:31:05 2023 +0100
1.2 +++ b/libresource/lib/src/resource_server.cc Wed Mar 22 18:05:48 2023 +0100
1.3 @@ -130,7 +130,14 @@
1.4 l4_cap_idx_t thread, int separate_thread,
1.5 int finalisation, int auto_deletion)
1.6 {
1.7 - if (finalisation)
1.8 + /* Only invoke the finaliser where auto-deletion is employed. This assumes
1.9 + that a single configuration is in use and thus a single resource that can
1.10 + be managed in the server finalisation process. Where multiple
1.11 + configurations are involved with an IPC gate, server finalisation does not
1.12 + attempt to finalise all these configurations and associated resources, and
1.13 + it therefore makes more sense to perform such finalisation elsewhere. */
1.14 +
1.15 + if (auto_deletion)
1.16 config->finaliser = resource_thread_finaliser;
1.17
1.18 config->config_thread = separate_thread;