Skip to content

Commit

Permalink
chore: Remove unused thread
Browse files Browse the repository at this point in the history
  • Loading branch information
DashieTM committed Nov 12, 2023
1 parent f660ba5 commit 90fd9d7
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 46 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ReSet-Lib"
version = "0.2.3"
version = "0.2.4"
edition = "2021"
description = "Data structure library for ReSet"
repository = "https://github.com/Xetibo/ReSet-Lib"
Expand Down
87 changes: 42 additions & 45 deletions src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,56 +106,53 @@ pub fn start_event_listener<
active_listener: Arc<AtomicBool>,
sender: Arc<Sender<Events<AddedType, RemovedType>>>,
) -> Result<(), dbus::Error> {
thread::spawn(move || {
let added_sender = sender.clone();
let removed_sender = sender.clone();
let conn = Connection::new_system().unwrap();
let mr = AddedEvent::match_rule(
Some(&"org.xetibo.ReSet".into()),
Some(&Path::from("/org/xetibo/ReSet")),
)
.static_clone();
let mrb = RemovedEvent::match_rule(
Some(&"org.xetibo.ReSet".into()),
Some(&Path::from("/org/xetibo/ReSet")),
)
.static_clone();
let res = conn.add_match(mr, move |ir: AddedEvent, _, _| {
let res = added_sender.send(Events::AddedEvent(ir.get_value()));
if res.is_err() {
return false;
}
true
});
let added_sender = sender.clone();
let removed_sender = sender.clone();
let conn = Connection::new_system().unwrap();
let mr = AddedEvent::match_rule(
Some(&"org.xetibo.ReSet".into()),
Some(&Path::from("/org/xetibo/ReSet")),
)
.static_clone();
let mrb = RemovedEvent::match_rule(
Some(&"org.xetibo.ReSet".into()),
Some(&Path::from("/org/xetibo/ReSet")),
)
.static_clone();
let res = conn.add_match(mr, move |ir: AddedEvent, _, _| {
let res = added_sender.send(Events::AddedEvent(ir.get_value()));
if res.is_err() {
return Err(dbus::Error::new_custom(
"SignalMatchFailed",
"Failed to match signal on ReSet.",
));
return false;
}
let res = conn.add_match(mrb, move |ir: RemovedEvent, _, _| {
let res = removed_sender.send(Events::RemovedEvent(ir.get_value()));
if res.is_err() {
return false;
}
true
});
true
});
if res.is_err() {
return Err(dbus::Error::new_custom(
"SignalMatchFailed",
"Failed to match signal on ReSet.",
));
}
let res = conn.add_match(mrb, move |ir: RemovedEvent, _, _| {
let res = removed_sender.send(Events::RemovedEvent(ir.get_value()));
if res.is_err() {
return Err(dbus::Error::new_custom(
"SignalMatchFailed",
"Failed to match signal on ReSet.",
));
return false;
}
active_listener.store(true, Ordering::SeqCst);
loop {
let _ = conn.process(Duration::from_millis(1000))?;
if !active_listener.load(Ordering::SeqCst) {
break;
}
thread::sleep(Duration::from_millis(1000));
}
Ok(())
true
});
if res.is_err() {
return Err(dbus::Error::new_custom(
"SignalMatchFailed",
"Failed to match signal on ReSet.",
));
}
active_listener.store(true, Ordering::SeqCst);
loop {
let _ = conn.process(Duration::from_millis(1000))?;
if !active_listener.load(Ordering::SeqCst) {
break;
}
thread::sleep(Duration::from_millis(1000));
}
Ok(())
}

Expand Down

0 comments on commit 90fd9d7

Please sign in to comment.