From 85947e3caa26f905538186a32bb67e16d59d1260 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 30 Nov 2018 18:21:36 +0100 Subject: wandad: improve error handling --- src/control_interface.cpp | 3 ++- src/wandad.cpp | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/control_interface.cpp b/src/control_interface.cpp index 85d1dca..caeb6da 100644 --- a/src/control_interface.cpp +++ b/src/control_interface.cpp @@ -121,8 +121,9 @@ control_interface::pointer make_interface(boost::asio::io_service &service, std: { if (std::filesystem::exists(file)) { - std::filesystem::remove(file); + return {}; } + control_interface::protocol::endpoint endpoint{file.string()}; return std::make_shared(control_interface::key{}, service, std::move(endpoint)); } diff --git a/src/wandad.cpp b/src/wandad.cpp index 04f3394..beb9040 100644 --- a/src/wandad.cpp +++ b/src/wandad.cpp @@ -45,9 +45,15 @@ int main() std::clog << "[wandad::main] Initializing control interface on socket '" << socket_path.native() << "'\n"; auto interface = wanda::make_interface(service, socket_path); - auto status = interface->start(); - if (status) + if(!interface) + { + std::cerr << "[wandad::main] Failed to initialize control interface on socket '" << socket_path.native() << "'\n" + << "[wandad::main] File already existed. Is 'wandad' running already?\n"; + return; + } + + if (interface->start()) { return; } -- cgit v1.2.3