Reduced long-term lock usage
This commit is contained in:
parent
368f86c4a5
commit
4c61f0c847
3 changed files with 41 additions and 46 deletions
|
|
@ -315,7 +315,7 @@ class PiCameraStreamer(BaseCamera):
|
|||
|
||||
def start_preview(self, fullscreen=True, window=None):
|
||||
"""Start the on board GPU camera preview."""
|
||||
with self.lock():
|
||||
with self.lock(timeout=1):
|
||||
try:
|
||||
if not self.camera.preview:
|
||||
logging.debug("Starting preview")
|
||||
|
|
@ -340,7 +340,7 @@ class PiCameraStreamer(BaseCamera):
|
|||
|
||||
def stop_preview(self):
|
||||
"""Stop the on board GPU camera preview."""
|
||||
with self.lock():
|
||||
with self.lock(timeout=1):
|
||||
if self.camera.preview:
|
||||
self.camera.stop_preview()
|
||||
self.preview_active = False
|
||||
|
|
@ -359,7 +359,7 @@ class PiCameraStreamer(BaseCamera):
|
|||
output_object (str/BytesIO): Target object.
|
||||
|
||||
"""
|
||||
with self.lock:
|
||||
with self.lock(timeout=5):
|
||||
# Start recording method only if a current recording is not running
|
||||
if not self.record_active:
|
||||
|
||||
|
|
@ -388,7 +388,7 @@ class PiCameraStreamer(BaseCamera):
|
|||
|
||||
def stop_recording(self):
|
||||
"""Stop the last started video recording on splitter port 2."""
|
||||
with self.lock:
|
||||
with self.lock(timeout=5):
|
||||
# Stop the camera video recording on port 2
|
||||
logging.info("Stopping recording")
|
||||
self.camera.stop_recording(splitter_port=2)
|
||||
|
|
|
|||
|
|
@ -189,9 +189,7 @@ class Microscope:
|
|||
Return:
|
||||
dict: Dictionary containing complete microscope state
|
||||
"""
|
||||
with self.lock:
|
||||
state = {"camera": self.camera.state, "stage": self.stage.state}
|
||||
return state
|
||||
return {"camera": self.camera.state, "stage": self.stage.state}
|
||||
|
||||
def update_settings(self, settings: dict):
|
||||
"""
|
||||
|
|
@ -242,7 +240,6 @@ class Microscope:
|
|||
"extensions": self.extension_settings,
|
||||
}
|
||||
|
||||
with self.lock:
|
||||
# If attached to a camera
|
||||
if self.camera:
|
||||
settings_current_camera = self.camera.read_settings()
|
||||
|
|
@ -274,7 +271,6 @@ class Microscope:
|
|||
self.settings_file.save(current_config, backup=True)
|
||||
|
||||
def force_get_configuration(self):
|
||||
with self.lock:
|
||||
initial_configuration = self.configuration_file.load()
|
||||
|
||||
current_configuration = {
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ class SangaStage(BaseStage):
|
|||
|
||||
@property
|
||||
def position(self):
|
||||
with self.lock(timeout=None):
|
||||
return self.board.position
|
||||
|
||||
@property
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue