Use file lock in security-manager 85/29885/6
authorSebastian Grabowski <s.grabowski@samsung.com>
Wed, 5 Nov 2014 11:34:18 +0000 (12:34 +0100)
committerSebastian Grabowski <s.grabowski@samsung.com>
Wed, 19 Nov 2014 13:18:57 +0000 (14:18 +0100)
This change makes that security-manager checks this file lock:
/run/lock/security-manager.lock.

Change-Id: If7032089fb70eda80b0d89b649678a5af7061bf4
Signed-off-by: Sebastian Grabowski <s.grabowski@samsung.com>
src/server/main/server-main.cpp

index 16f03ba..5c34d3f 100644 (file)
@@ -29,6 +29,7 @@
 #include <dpl/singleton_safe_impl.h>
 
 #include <socket-manager.h>
+#include <file-lock.h>
 
 #include <service.h>
 
@@ -66,6 +67,9 @@ int main(void) {
     {
         SecurityManager::Singleton<SecurityManager::Log::LogSystem>::Instance().SetTag("SECURITY_MANAGER");
 
+        SecurityManager::FileLocker serviceLock(SecurityManager::SERVICE_LOCK_FILE,
+                                                true);
+
         sigset_t mask;
         sigemptyset(&mask);
         sigaddset(&mask, SIGTERM);
@@ -81,6 +85,9 @@ int main(void) {
         REGISTER_SOCKET_SERVICE(manager, SecurityManager::Service);
 
         manager.MainLoop();
+    } catch (const SecurityManager::FileLocker::Exception::Base &e) {
+        LogError("Unable to get a file lock. Exiting.");
+        return EXIT_FAILURE;
     }
     UNHANDLED_EXCEPTION_HANDLER_END
     return 0;