aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/util/task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/util/task.rs')
-rw-r--r--src/components/util/task.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/components/util/task.rs b/src/components/util/task.rs
index 8500649370d..ec12b1eaf58 100644
--- a/src/components/util/task.rs
+++ b/src/components/util/task.rs
@@ -16,10 +16,15 @@ pub fn spawn_named<S: IntoMaybeOwned<'static>>(name: S, f: proc()) {
/// this `TaskBuilder` fails.
pub fn send_on_failure<T: Send>(builder: &mut TaskBuilder, msg: T, dest: Sender<T>) {
let port = builder.future_result();
- spawn(proc() {
+ let watched_name = builder.opts.name.as_ref().unwrap().as_slice().to_owned();
+ let name = format!("{:s}Watcher", watched_name);
+ spawn_named(name, proc() {
match port.recv() {
Ok(()) => (),
- Err(..) => dest.send(msg),
+ Err(..) => {
+ debug!("{:s} failed, notifying constellation", watched_name);
+ dest.send(msg);
+ }
}
})
}