From d027a40c7159287e0b996430b5cc751a1869a02b Mon Sep 17 00:00:00 2001 From: "manish.r" Date: Wed, 10 Nov 2021 13:56:33 +0530 Subject: [PATCH] Add Flag to unload plugin only once Change-Id: I9fadc1fc5a8bcbfefadfbd8e4cab0ec5d78f1e35 Signed-off-by: manish.r --- src/file_sync_service.c | 2 ++ src/sdb.c | 6 +++++- src/sdb.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/sdb.h diff --git a/src/file_sync_service.c b/src/file_sync_service.c index 2ab73c1..f179a61 100755 --- a/src/file_sync_service.c +++ b/src/file_sync_service.c @@ -605,10 +605,12 @@ void file_sync_service(int fd, void *cookie) if (pid == 0) { sdb_close(s[0]); //close the parent fd + exit_cleanup_required = 0; sync_read_label_notify(s[1]); _exit(0); } else if (pid > 0) { sdb_close(s[1]); + exit_cleanup_required = 1; char *buffer = malloc(SYNC_DATA_MAX); if(buffer == NULL) { diff --git a/src/sdb.c b/src/sdb.c index 06ad083..7b79f52 100755 --- a/src/sdb.c +++ b/src/sdb.c @@ -72,6 +72,7 @@ SDB_MUTEX_DEFINE( D_lock ); #define SDB_LOGCONF_PATH "/tmp/.sdbdlog.conf" int HOST = 0; +int exit_cleanup_required = 0; // sdk user uid_t g_sdk_user_id; @@ -1222,7 +1223,10 @@ static void sdb_cleanup(void) static void sdb_service_cleanup(void) { - unload_sdbd_service_plugin(); + if (exit_cleanup_required) + { + unload_sdbd_service_plugin(); + } } diff --git a/src/sdb.h b/src/sdb.h old mode 100644 new mode 100755 index b3c7820..1e51745 --- a/src/sdb.h +++ b/src/sdb.h @@ -527,4 +527,5 @@ void get_env(char *key, char **env); #define RESERVE_CAPABILITIES_AFTER_FORK 0 #define DROP_CAPABILITIES_AFTER_FORK 1 +extern int exit_cleanup_required; #endif -- 2.34.1