[LEDE-DEV] [PATCH 1/2] service: add func for string config change check

Yousong Zhou yszhou4tech at gmail.com
Sun Feb 11 04:07:00 PST 2018


Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
---
 service/instance.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/service/instance.c b/service/instance.c
index 12c2efe..c3f8b56 100644
--- a/service/instance.c
+++ b/service/instance.c
@@ -588,6 +588,11 @@ instance_restart(struct service_instance *in)
 	uloop_timeout_set(&in->timeout, in->term_timeout * 1000);
 }
 
+static bool string_changed(const char *a, const char *b)
+{
+	return !((!a && !b) || (a && b && !strcmp(a, b)));
+}
+
 static bool
 instance_config_changed(struct service_instance *in, struct service_instance *in_new)
 {
@@ -615,14 +620,7 @@ instance_config_changed(struct service_instance *in, struct service_instance *in
 	if (in->gid != in_new->gid)
 		return true;
 
-	if (in->pidfile && in_new->pidfile)
-		if (strcmp(in->pidfile, in_new->pidfile))
-			return true;
-
-	if (in->pidfile && !in_new->pidfile)
-		return true;
-
-	if (!in->pidfile && in_new->pidfile)
+	if (string_changed(in->pidfile, in_new->pidfile))
 		return true;
 
 	if (in->respawn_retry != in_new->respawn_retry)
-- 
1.8.3.1




More information about the Lede-dev mailing list