Skip to content

Commit 1c30e16

Browse files
authored
Merge pull request #80 from JRazek/early-request-completed-callback-fix
Bug fix: added early lock for state in queue_request
2 parents f480fb8 + 2ddbf1b commit 1c30e16

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

libcamera/src/camera.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,12 +679,13 @@ impl<'d> ActiveCamera<'d> {
679679
let ptr = req.ptr.as_ptr();
680680
// Keep the request alive locally until we know queuing succeeded.
681681
let mut pending = Some(req);
682+
let mut state = self.state.lock().unwrap();
682683
let ret = unsafe { libcamera_camera_queue_request(self.ptr.as_ptr(), ptr) };
683684

684685
if ret < 0 {
685686
Err((pending.take().unwrap(), io::Error::from_raw_os_error(-ret)))
686687
} else {
687-
self.state.lock().unwrap().requests.insert(ptr, pending.take().unwrap());
688+
state.requests.insert(ptr, pending.take().unwrap());
688689
Ok(())
689690
}
690691
}

0 commit comments

Comments
 (0)