# HG changeset patch # User Paul Boddie # Date 1644958894 -3600 # Node ID 04941be379a4add20a3bbf7b57729c935be90b58 # Parent c609cb01213c7e809fa3554903ec367838011b8a Fixed variable usage to actually implement the described logic. diff -r c609cb01213c -r 04941be379a4 libfsserver/lib/generic/resource_registry.cc --- a/libfsserver/lib/generic/resource_registry.cc Mon Feb 14 23:07:26 2022 +0100 +++ b/libfsserver/lib/generic/resource_registry.cc Tue Feb 15 22:01:34 2022 +0100 @@ -195,7 +195,7 @@ /* Obtain a provider for the object. */ Provider *provider; - long err = find_provider(fileid, &provider); + long err = find_provider(fileid, &provider), lookup_err = err; if (err && (err != -L4_ENOENT)) return err; @@ -207,7 +207,7 @@ if (err) return err; - /* Unlink the object regardless of whether it can be removed. */ + /* Unlink the object regardless of whether it will be removed. */ err = opening->unlink_object(parent_fileid, fileid); @@ -216,7 +216,7 @@ /* Without a provider being active, remove the object directly. */ - if (err) + if (lookup_err) return opening->remove_object(fileid); /* With a provider active, request the object's removal upon closure. */