diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2018-11-30 18:21:36 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2018-11-30 18:21:36 +0100 |
| commit | 85947e3caa26f905538186a32bb67e16d59d1260 (patch) | |
| tree | d739008f1de7a632e9a882fc7cc03a6592aa4ed3 /src | |
| parent | 1ba42445a5a97e1b09fc9671602594d3e3695063 (diff) | |
| download | wanda-85947e3caa26f905538186a32bb67e16d59d1260.tar.xz wanda-85947e3caa26f905538186a32bb67e16d59d1260.zip | |
wandad: improve error handling
Diffstat (limited to 'src')
| -rw-r--r-- | src/control_interface.cpp | 3 | ||||
| -rw-r--r-- | 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>(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; } |
