summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-07-26 18:13:45 +0300
committerYuval Adam <_@yuv.al>2018-07-26 18:56:32 +0300
commit8af8dd4a0c47aca78a6eac8b4afe53ec9df2c6be (patch)
tree7ced1c18b6d8acd4c8558589c86d03ce37edfce7 /src/main.rs
parent39ea216984f4b7b5aa861c9605ccf5de720bee7e (diff)
Extract libusb context to a longer living lifetime
This is due to a limitation where we can't hold a struct that has both the context and a device handle (that internally references back to it). The libusb context has to outlive the device handle. Github issue: https://github.com/dcuddeback/libusb-rs/issues/3 Example solution via IRC: https://play.rust-lang.org/?gist=c68bda27266249c781e6335c4127f301&version=stable&mode=debug&edition=2015
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index e1dfc5d..1bdade5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -6,6 +6,7 @@ use lib::RtlSdr;
fn main() {
println!("Running");
- let mut rtlsdr = RtlSdr::new();
+ let ctx = libusb::Context::new().unwrap();
+ let mut rtlsdr = RtlSdr::new(&ctx);
rtlsdr.init();
}