Skip to content

Commit 4b2f06b

Browse files
fix: preserve event receiver reuse after start
1 parent 2eaea02 commit 4b2f06b

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

dash-spv-ffi/src/client.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,8 +493,17 @@ pub unsafe extern "C" fn dash_spv_ffi_client_start(client: *mut FFIDashSpvClient
493493
// After successful start, take event receiver for pull-based draining
494494
let mut guard = client.inner.lock().unwrap();
495495
if let Some(ref mut spv_client) = *guard {
496-
let rx = spv_client.take_event_receiver();
497-
*client.event_rx.lock().unwrap() = rx;
496+
match spv_client.take_event_receiver() {
497+
Some(rx) => {
498+
*client.event_rx.lock().unwrap() = Some(rx);
499+
tracing::debug!("Replaced FFI event receiver after client start");
500+
}
501+
None => {
502+
tracing::debug!(
503+
"No new event receiver returned after client start; keeping existing receiver"
504+
);
505+
}
506+
}
498507
}
499508
FFIErrorCode::Success as i32
500509
}

0 commit comments

Comments
 (0)