Skip to content

Commit 0c26297

Browse files
authored
Fix a segfault when re-using wait set (#282)
1 parent 0533699 commit 0c26297

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

rclrs/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub use wait::*;
4646
///
4747
/// [1]: crate::RclReturnCode
4848
pub fn spin_once(node: &Node, timeout: Option<Duration>) -> Result<(), RclrsError> {
49-
let mut wait_set = WaitSet::new_for_node(node)?;
49+
let wait_set = WaitSet::new_for_node(node)?;
5050
let ready_entities = wait_set.wait(timeout)?;
5151

5252
for ready_subscription in ready_entities.subscriptions {

rclrs/src/wait.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ impl WaitSet {
321321
/// This list is not comprehensive, since further errors may occur in the `rmw` or `rcl` layers.
322322
///
323323
/// [1]: std::time::Duration::ZERO
324-
pub fn wait(&mut self, timeout: Option<Duration>) -> Result<ReadyEntities, RclrsError> {
324+
pub fn wait(mut self, timeout: Option<Duration>) -> Result<ReadyEntities, RclrsError> {
325325
let timeout_ns = match timeout.map(|d| d.as_nanos()) {
326326
None => -1,
327327
Some(ns) if ns <= i64::MAX as u128 => ns as i64,

0 commit comments

Comments
 (0)