summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2017-07-17 10:47:48 +0200
committerLinus Färnstrand <linus@mullvad.net>2017-07-17 10:47:48 +0200
commit6a4202fc8c55752f0fef86c04b628a3f9ada5279 (patch)
tree587317172e99ec790b577b87c9ec62ac33a35342
parent56e6f7aae1988a84e96ab65b17c1d051881b9c88 (diff)
parentece6d694e06d4d006d4bc9ace7cafa33e7146fad (diff)
downloadmullvadvpn-6a4202fc8c55752f0fef86c04b628a3f9ada5279.tar.xz
mullvadvpn-6a4202fc8c55752f0fef86c04b628a3f9ada5279.zip
Merge branch 'nicer-error-print'
-rw-r--r--mullvad_daemon/src/main.rs19
1 files changed, 4 insertions, 15 deletions
diff --git a/mullvad_daemon/src/main.rs b/mullvad_daemon/src/main.rs
index 74d6801cff..b26ca315a8 100644
--- a/mullvad_daemon/src/main.rs
+++ b/mullvad_daemon/src/main.rs
@@ -29,6 +29,7 @@ mod management_interface;
mod rpc_info;
mod shutdown;
+use error_chain::ChainedError;
use management_interface::{ManagementInterfaceServer, TunnelCommand};
use mullvad_types::states::{DaemonState, SecurityState, TargetState};
use std::io;
@@ -245,7 +246,7 @@ impl Daemon {
fn handle_tunnel_exited(&mut self, result: tunnel::Result<()>) -> Result<()> {
if let Err(e) = result.chain_err(|| "Tunnel exited in an unexpected way") {
- log_error(&e);
+ error!("{}", e.display());
}
self.tunnel_close_handle = None;
self.set_state(TunnelState::NotRunning)
@@ -353,7 +354,7 @@ impl Daemon {
(TargetState::Secured, TunnelState::NotRunning) => {
debug!("Triggering tunnel start");
if let Err(e) = self.start_tunnel().chain_err(|| "Failed to start tunnel") {
- log_error(&e);
+ error!("{}", e.display());
self.management_interface_broadcaster.notify_error(&e);
self.set_target_state(TargetState::Unsecured)?;
}
@@ -438,24 +439,12 @@ impl DaemonShutdownHandle {
impl Drop for Daemon {
fn drop(self: &mut Daemon) {
if let Err(e) = rpc_info::remove().chain_err(|| "Unable to clean up rpc address file") {
- log_error(&e);
+ error!("{}", e.display());
}
}
}
-fn log_error<E>(error: &E)
- where E: error_chain::ChainedError
-{
- let mut msg = error.to_string();
- for e in error.iter().skip(1) {
- msg.push_str("\n\tCaused by: ");
- msg.push_str(&e.to_string()[..]);
- }
- error!("{}", msg);
-}
-
-
quick_main!(run);
fn run() -> Result<()> {