[OpenWrt-Devel] [PATCH 1/5] service: optimize relaying stdio output of daemons a bit.

Yousong Zhou yszhou4tech at gmail.com
Sun Jun 14 00:14:43 EDT 2015


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

diff --git a/service/instance.c b/service/instance.c
index 3367885..4ace40b 100644
--- a/service/instance.c
+++ b/service/instance.c
@@ -366,6 +366,10 @@ instance_stdio(struct ustream *s, int prio, struct service_instance *in)
 	char *newline, *str, *arg0, ident[32];
 	int len;
 
+	arg0 = basename(blobmsg_data(blobmsg_data(in->command)));
+	snprintf(ident, sizeof(ident), "%s[%d]", arg0, in->proc.pid);
+	ulog_open(ULOG_SYSLOG, LOG_DAEMON, ident);
+
 	do {
 		str = ustream_get_read_buf(s, NULL);
 		if (!str)
@@ -376,17 +380,13 @@ instance_stdio(struct ustream *s, int prio, struct service_instance *in)
 			break;
 
 		*newline = 0;
-		len = newline + 1 - str;
-
-		arg0 = basename(blobmsg_data(blobmsg_data(in->command)));
-		snprintf(ident, sizeof(ident), "%s[%d]", arg0, in->proc.pid);
-
-		ulog_open(ULOG_SYSLOG, LOG_DAEMON, ident);
 		ulog(prio, "%s\n", str);
-		ulog_open(ULOG_SYSLOG, LOG_DAEMON, "procd");
 
+		len = newline + 1 - str;
 		ustream_consume(s, len);
 	} while (1);
+
+	ulog_open(ULOG_SYSLOG, LOG_DAEMON, "procd");
 }
 
 static void
-- 
1.7.10.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list