From 7df968175ffd3bc7df5682d5852fbf20fe454759 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Sun, 14 Jun 2015 12:14:43 +0800 Subject: [PATCH] service: optimize relaying stdio output of daemons a bit. Signed-off-by: Yousong Zhou --- 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 -- 2.25.1