diff options
-rw-r--r-- | components/devtools/actor.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/components/devtools/actor.rs b/components/devtools/actor.rs index 8cc9a2231ed..cf2dab9050d 100644 --- a/components/devtools/actor.rs +++ b/components/devtools/actor.rs @@ -110,16 +110,18 @@ impl ActorRegistry { } /// Creating shareable registry - pub fn create_shareable(self) -> Arc<Mutex<ActorRegistry>>{ - if self.shareable.is_some() { - return self.shareable.unwrap(); + pub fn create_shareable(self) -> Arc<Mutex<ActorRegistry>> { + if let Some(shareable) = self.shareable { + return shareable; } let shareable = Arc::new(Mutex::new(self)); - let mut lock = shareable.lock(); - let registry = lock.as_mut().unwrap(); - registry.shareable = Some(shareable.clone()); - shareable.clone() + { + let mut lock = shareable.lock(); + let registry = lock.as_mut().unwrap(); + registry.shareable = Some(shareable.clone()); + } + shareable } /// Get shareable registry through threads |