diff options
Diffstat (limited to 'src/components/util/task.rs')
-rw-r--r-- | src/components/util/task.rs | 9 |
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); + } } }) } |