From 5c0ef2844b81a5855f0828195c3d90f883d14dc6 Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Wed, 18 Apr 2018 13:07:31 +0200 Subject: [PATCH] sdb: Use systemd startup notification Change-Id: I8ec201a68be921861f0fb05b74f1d862a4c90e5f Signed-off-by: Karol Lewandowski --- 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