aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2018-11-30 18:21:36 +0100
committerFelix Morgner <felix.morgner@gmail.com>2018-11-30 18:21:36 +0100
commit85947e3caa26f905538186a32bb67e16d59d1260 (patch)
treed739008f1de7a632e9a882fc7cc03a6592aa4ed3 /src
parent1ba42445a5a97e1b09fc9671602594d3e3695063 (diff)
downloadwanda-85947e3caa26f905538186a32bb67e16d59d1260.tar.xz
wanda-85947e3caa26f905538186a32bb67e16d59d1260.zip
wandad: improve error handling
Diffstat (limited to 'src')
-rw-r--r--src/control_interface.cpp3
-rw-r--r--src/wandad.cpp10
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>(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;
}