Terminate provider when it gets power off event
authorSung-jae Park <nicesj.park@samsung.com>
Mon, 20 May 2013 09:51:46 +0000 (18:51 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Mon, 20 May 2013 09:51:46 +0000 (18:51 +0900)
Change-Id: I392c4b75c58f61eab1b9a807d1098b5d575b9dc5

data/data-provider-master.service
src/main.c
src/setting.c

index 4b3a482..ff8c246 100644 (file)
@@ -26,7 +26,7 @@ Environment=BUFMGR_MAP_CACHE="true"
 Type=simple
 ExecStart=/usr/bin/data-provider-master
 RestartSec=1
-Restart=restart-always
+Restart=always
 
 [Install]
 WantedBy=multi-user.target
index 92b9048..a235299 100755 (executable)
@@ -209,7 +209,7 @@ static Eina_Bool signal_cb(void *data, Ecore_Fd_Handler *handler)
                        ErrPrint("stop.provider: %s\n", strerror(errno));
 
                vconf_set_bool(VCONFKEY_MASTER_STARTED, 0);
-               //exit(0);
+               exit(0);
                //ecore_main_loop_quit();
        } else {
                CRITICAL_LOG("Unknown SIG[%d] received\n", fdsi.ssi_signo);
index 6a2c076..e7e5379 100644 (file)
@@ -74,12 +74,13 @@ static void power_off_cb(keynode_t *node, void *user_data)
 
        if (val == VCONFKEY_SYSMAN_POWER_OFF_DIRECT || val == VCONFKEY_SYSMAN_POWER_OFF_RESTART) {
                int fd;
+
                fd = creat("/tmp/.stop.provider", 0644);
                if (fd < 0 || close(fd) < 0)
                        ErrPrint("stop.provider [%s]\n", strerror(errno));
 
                vconf_set_bool(VCONFKEY_MASTER_STARTED, 0);
-               //exit(0);
+               exit(0);
                //ecore_main_loop_quit();
        } else {
                ErrPrint("Unknown power state: %d\n", val);