auxd: fix SVACE issue 79/177279/1 accepted/tizen/unified/20180430.072145 submit/submit/tizen/20180427.151943/20180427.152156 submit/submit/tizen/20180427.151943/20180427.153601 submit/tizen/20180427.151943 submit/tizen/20180427.154443
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Thu, 26 Apr 2018 17:52:13 +0000 (20:52 +0300)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Thu, 26 Apr 2018 17:52:13 +0000 (20:52 +0300)
Storing local variable in global one

Change-Id: I54cd8df67695a299f14a3474bfcb3027b5c85b8e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
src/auxd/src/main.cpp

index 287062b4610555f3365aed214e87ec9d275d5214..63b2c4ce449c7231bd87466d81931728d434260a 100644 (file)
@@ -160,27 +160,37 @@ static void signal_handler(int sig)
     }
 }
 
-static void signal_setup()
+static void signals_setup(EventLoop *loop)
 {
+    g_loop = loop;
+
     signal(SIGTERM, signal_handler);
     signal(SIGHUP, signal_handler);
 }
 
-static void do_main()
+static void signals_reset()
 {
-    signal_setup();
+    signal(SIGHUP, SIG_DFL);
+    signal(SIGINT, SIG_DFL);
+
+    g_loop = nullptr;
+}
 
-    EventLoop::RecvData recv_data(nullptr, recv_handler, AUXD::ID_CNT);
 
+static void do_main()
+{
+    EventLoop::RecvData recv_data(nullptr, recv_handler, AUXD::ID_CNT);
     EventLoop event_loop;
-    g_loop = &event_loop;
-    g_loop->init(SOCKET_PATH);
+
+    signals_setup(&event_loop);
+    event_loop.init(SOCKET_PATH);
 
     sd_notify(0, "READY=1");
-    g_loop->run(recv_data, CONNECT_TIMEOUT);
+    event_loop.run(recv_data, CONNECT_TIMEOUT);
     sd_notify(0, "STOPPING=1");
 
-    g_loop->uninit();
+    event_loop.uninit();
+    signals_reset();
 }