X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=meta-starlingx%2Fmeta-stx-integ%2Frecipes-core%2Fsystemd%2Ffiles%2F0900-inject-milisec-in-syslog-date.patch;fp=meta-starlingx%2Fmeta-stx-integ%2Frecipes-core%2Fsystemd%2Ffiles%2F0900-inject-milisec-in-syslog-date.patch;h=0000000000000000000000000000000000000000;hb=6fc6934434f70595536a387ece31bc30141cafb5;hp=4a768faf5529b65b593caa449f2f92bbae402876;hpb=eb1e26510491ba49de693ab3b0498edcb06be6c5;p=pti%2Frtp.git diff --git a/meta-starlingx/meta-stx-integ/recipes-core/systemd/files/0900-inject-milisec-in-syslog-date.patch b/meta-starlingx/meta-stx-integ/recipes-core/systemd/files/0900-inject-milisec-in-syslog-date.patch deleted file mode 100644 index 4a768fa..0000000 --- a/meta-starlingx/meta-stx-integ/recipes-core/systemd/files/0900-inject-milisec-in-syslog-date.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 5ef6dbb951246912ba021f9e2edacd0f9e7619e6 Mon Sep 17 00:00:00 2001 -From: "Sar Ashki, Babak" -Date: Sat, 29 Feb 2020 12:48:57 -0800 -Subject: [PATCH] inject milisec in syslog date - -From stx.3.0: 0231aba5cdcb96b15106591acfff280159050366 ---- - src/journal/journald-syslog.c | 45 +++++++++++++++++++++++++++++++---- - 1 file changed, 40 insertions(+), 5 deletions(-) - -diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c -index a60a259bc4..0036750353 100644 ---- a/src/journal/journald-syslog.c -+++ b/src/journal/journald-syslog.c -@@ -25,6 +25,44 @@ - /* Warn once every 30s if we missed syslog message */ - #define WARN_FORWARD_SYSLOG_MISSED_USEC (30 * USEC_PER_SEC) - -+/* internal function that builds a formatted time str of the -+ * tv parameter into the passed buffer. (ie Nov 7 16:28:38.109) -+ * If tv is NULL, then the clock function is used to build the formatted time -+ * returns (same as snprintf) - number of characters written to buffer. -+ */ -+static int formatSyslogDate(char * buffer, int bufLen, const struct timeval *tv) { -+ struct timeval tv_tmp; -+ long int millisec; -+ char tmpbuf[64]; -+ struct tm *tm; -+ time_t t; -+ -+ if (!tv) { -+ // no timeval input so get time data from clock -+ usec_t now_usec = now(CLOCK_REALTIME); -+ time_t now_sec = ((time_t) now_usec / USEC_PER_SEC); -+ long int now_fraction_secs = now_usec % USEC_PER_SEC; -+ tv_tmp.tv_sec = now_sec; -+ tv_tmp.tv_usec = now_fraction_secs; -+ tv = &tv_tmp; -+ } -+ -+ t = tv->tv_sec; -+ tm = localtime(&t); -+ if (!tm) -+ return 0; -+ -+ // format time to the second granularity - ie Nov 7 16:28:38 -+ if (strftime(tmpbuf,sizeof(tmpbuf),"%h %e %T", tm) <= 0) -+ return 0; -+ -+ millisec = tv->tv_usec / 1000; -+ // now append millisecond granularity (ie Nov 7 16:28:38.109) to -+ // the formatted string. -+ return snprintf(buffer, bufLen, "%s.%03lu", tmpbuf, millisec); -+} -+ -+ - static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned n_iovec, const struct ucred *ucred, const struct timeval *tv) { - - static const union sockaddr_union sa = { -@@ -133,11 +171,8 @@ void server_forward_syslog(Server *s, int priority, const char *identifier, cons - iovec[n++] = IOVEC_MAKE_STRING(header_priority); - - /* Second: timestamp */ -- t = tv ? tv->tv_sec : ((time_t) (now(CLOCK_REALTIME) / USEC_PER_SEC)); -- if (!localtime_r(&t, &tm)) -- return; -- if (strftime(header_time, sizeof(header_time), "%h %e %T ", &tm) <= 0) -- return; -+ if (formatSyslogDate(header_time, sizeof(header_time), tv) <=0 ) -+ return; - iovec[n++] = IOVEC_MAKE_STRING(header_time); - - /* Third: identifier and PID */ --- -2.23.0 -