From ab01fc9e2dec6334a9ecb73e8b8b66453bbac0d5 Mon Sep 17 00:00:00 2001 From: Adhavan M Date: Fri, 4 May 2018 11:36:15 +0000 Subject: [PATCH] Revert "Revert "sdb: Use systemd startup notification"" This reverts commit 95ba741bb4fc70acf13d4ef68d3a15031025aa6f. Change-Id: I5a16217f284f9e43132cd078ef1fff45dfaa5c8a --- packaging/sdbd.service | 2 +- src/sdb.c | 4 +++- src/sdb_systemd.h | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packaging/sdbd.service b/packaging/sdbd.service index e9b1047..0086137 100644 --- a/packaging/sdbd.service +++ b/packaging/sdbd.service @@ -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 diff --git a/src/sdb.c b/src/sdb.c index fe77333..c014f34 100644 --- 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); } - diff --git a/src/sdb_systemd.h b/src/sdb_systemd.h index f183389..f9aeb18 100644 --- a/src/sdb_systemd.h +++ b/src/sdb_systemd.h @@ -7,6 +7,10 @@ #include #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; -- 2.7.4