diff options
| -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; } |
