diff --git a/src/lerobot/cameras/opencv/camera_opencv.py b/src/lerobot/cameras/opencv/camera_opencv.py index 3e92eaf06..b3c20e8dd 100644 --- a/src/lerobot/cameras/opencv/camera_opencv.py +++ b/src/lerobot/cameras/opencv/camera_opencv.py @@ -442,11 +442,12 @@ class OpenCVCamera(Camera): Stops on DeviceNotConnectedError, logs other errors and continues. """ - if self.stop_event is None: + stop_event = self.stop_event + if stop_event is None: raise RuntimeError(f"{self}: stop_event is not initialized before starting read loop.") failure_count = 0 - while not self.stop_event.is_set(): + while not stop_event.is_set(): try: raw_frame = self._read_from_hardware() processed_frame = self._postprocess_image(raw_frame) diff --git a/src/lerobot/cameras/realsense/camera_realsense.py b/src/lerobot/cameras/realsense/camera_realsense.py index e156e6d14..80008e9f9 100644 --- a/src/lerobot/cameras/realsense/camera_realsense.py +++ b/src/lerobot/cameras/realsense/camera_realsense.py @@ -471,11 +471,12 @@ class RealSenseCamera(Camera): Stops on DeviceNotConnectedError, logs other errors and continues. """ - if self.stop_event is None: + stop_event = self.stop_event + if stop_event is None: raise RuntimeError(f"{self}: stop_event is not initialized before starting read loop.") failure_count = 0 - while not self.stop_event.is_set(): + while not stop_event.is_set(): try: frame = self._read_from_hardware() color_frame_raw = frame.get_color_frame() diff --git a/src/lerobot/cameras/zmq/camera_zmq.py b/src/lerobot/cameras/zmq/camera_zmq.py index 1b0be5de6..f3df17814 100644 --- a/src/lerobot/cameras/zmq/camera_zmq.py +++ b/src/lerobot/cameras/zmq/camera_zmq.py @@ -246,11 +246,12 @@ class ZMQCamera(Camera): """ Internal loop run by the background thread for asynchronous reading. """ - if self.stop_event is None: + stop_event = self.stop_event + if stop_event is None: raise RuntimeError(f"{self}: stop_event is not initialized.") failure_count = 0 - while not self.stop_event.is_set(): + while not stop_event.is_set(): try: frame = self._read_from_hardware() capture_time = time.perf_counter()