From 8073d27df23130ef2d7b6c3390e3f730aed90e54 Mon Sep 17 00:00:00 2001 From: vikingowl Date: Thu, 26 Mar 2026 16:51:55 +0100 Subject: [PATCH] docs: update LuaProvider safety comment for RwLock architecture --- crates/owlry-core/src/providers/lua_provider.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/owlry-core/src/providers/lua_provider.rs b/crates/owlry-core/src/providers/lua_provider.rs index 0d64c6d..7ed4c9c 100644 --- a/crates/owlry-core/src/providers/lua_provider.rs +++ b/crates/owlry-core/src/providers/lua_provider.rs @@ -90,8 +90,9 @@ impl Provider for LuaProvider { } // LuaProvider needs to be Send + Sync for the Provider trait. -// Since we're using Rc>, we need to be careful about thread safety. -// For now, owlry is single-threaded, so this is safe. +// Rc> is !Send and !Sync, but the ProviderManager RwLock ensures +// Rc> is only accessed during refresh() (write lock = exclusive access). +// Read-only operations (items(), search) only touch self.items (Vec). unsafe impl Send for LuaProvider {} unsafe impl Sync for LuaProvider {}