What are the in-kernel functions to format time?
- Reply: Hans Petter Selasky : "Re: What are the in-kernel functions to format time?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 11 Mar 2022 09:49:42 UTC
Hi,
I'm looking for a function to convert bintime to a human readable
format in the kernel... and what is the usual format we use?
The use case for this is: if something throws a log from the kernel
about a signal, I want to know when it happened, or in terms of code
see below (tabs are most probably messed up).
Do we have some kind of policy in terms of kernel messages and
timestamps? Like "do not commit logging with timestamps"? I have the
code below because I needed it at least once and think something like
this (in a human readably shape) would be beneficial to have in the
tree.
Code:
---snip---
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 4a15bd45355..a83eebe0736 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -80,6 +80,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sysent.h>
#include <sys/syslog.h>
#include <sys/sysproto.h>
+#include <sys/time.h>
#include <sys/timers.h>
#include <sys/unistd.h>
#include <sys/wait.h>
@@ -3440,14 +3441,18 @@ sigexit(struct thread *td, int sig)
*/
if (coredump(td) == 0)
sig |= WCOREFLAG;
- if (kern_logsigexit)
+ if (kern_logsigexit) {
+ struct bintime now;
+
+ getbintime(&now);
log(LOG_INFO,
- "pid %d (%s), jid %d, uid %d: exited on "
- "signal %d%s\n", p->p_pid, p->p_comm,
+ "%zd: pid %d (%s), jid %d, uid %d: exited on "
+ "signal %d%s\n", now.sec, p->p_pid, p->p_comm,
p->p_ucred->cr_prison->pr_id,
td->td_ucred->cr_uid,
sig &~ WCOREFLAG,
sig & WCOREFLAG ? " (core dumped)" : "");
+ }
} else
PROC_UNLOCK(p);
exit1(td, 0, sig);
---snip---
Bye,
Alexander.
--
http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF