sdb: Use systemd startup notification 33/176333/2
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 18 Apr 2018 11:07:31 +0000 (13:07 +0200)
committerManish Rathod <manish.r@samsung.com>
Thu, 26 Apr 2018 05:51:42 +0000 (05:51 +0000)
Change-Id: I8ec201a68be921861f0fb05b74f1d862a4c90e5f
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
packaging/sdbd.service
src/sdb.c
src/sdb_systemd.h

index e9b1047..0086137 100644 (file)
@@ -9,7 +9,7 @@ SmackProcessLabel=System
 EnvironmentFile=-/run/sdbd-env
 #If necessary, Put Environment variable settings in a file like below
 #ExecStartPre=/bin/bash -c "/bin/echo 'SDB_TRACE=all SDBD_LOG_PATH=/tmp' >> /tmp/.sdbdlog.conf"
-Type=simple
+Type=notify
 Capabilities=cap_dac_override,cap_setgid,cap_setuid,cap_sys_admin=i
 SecureBits=keep-caps
 PIDFile=/tmp/.sdbd.pid
index fe77333..c014f34 100644 (file)
--- a/src/sdb.c
+++ b/src/sdb.c
@@ -42,6 +42,7 @@
 #include "sdktools.h"
 #include "plugin.h"
 #include "sdbd_plugin.h"
+#include "sdb_systemd.h"
 
 #ifdef SUPPORT_ENCRYPT
 #include "plugin_encrypt.h"
@@ -2127,6 +2128,8 @@ int sdb_main(int server_port)
     D("sdb_main(): post init_jdwp()\n");
 #endif
 
+    sdb_notify_startup(0, "READY=1");
+
     D("Event loop starting\n");
 
     fdevent_loop();
@@ -2271,4 +2274,3 @@ int main(int argc, char **argv)
     signal(SIGTERM, handle_sig_term); /* tizen specific */
     return sdb_main(DEFAULT_SDB_PORT);
 }
-
index f183389..f9aeb18 100644 (file)
@@ -7,6 +7,10 @@
 #include <arpa/inet.h>
 #include "sysdeps.h"
 
+static __inline__ void sdb_notify_startup(int unset_env, const char *state)
+{
+     sd_notify(unset_env, state);
+}
 
 static int sdb_port_get_tcp_listenfd(void)
 {
@@ -31,6 +35,8 @@ static __inline__ int sdb_port_try_automatic(void)
 
 #else
 
+static __inline__ void sdb_notify_startup(int unset_env, const char *state) { }
+
 static __inline__ int sdb_port_get_tcp_listenfd(void)
 {
      return -1;