git: 8476ab3558f0 - stable/14 - gcore(1): dump NT_PROCSTAT_KQUEUES section
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Apr 2025 01:29:13 UTC
The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8476ab3558f05724d04e1711277ffdee780c66b8 commit 8476ab3558f05724d04e1711277ffdee780c66b8 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2025-03-15 01:56:09 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2025-04-07 01:28:22 +0000 gcore(1): dump NT_PROCSTAT_KQUEUES section (cherry picked from commit 10626f7384f9e39a8c02dfd475b1fd14fd7395dd) --- usr.bin/gcore/elfcore.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/usr.bin/gcore/elfcore.c b/usr.bin/gcore/elfcore.c index 2bffd409bb11..86613a91ca73 100644 --- a/usr.bin/gcore/elfcore.c +++ b/usr.bin/gcore/elfcore.c @@ -105,6 +105,7 @@ static void *elf_note_powerpc_vsx(void *, size_t *); static void *elf_note_procstat_auxv(void *, size_t *); static void *elf_note_procstat_files(void *, size_t *); static void *elf_note_procstat_groups(void *, size_t *); +static void *elf_note_procstat_kqueues(void *, size_t *); static void *elf_note_procstat_osrel(void *, size_t *); static void *elf_note_procstat_proc(void *, size_t *); static void *elf_note_procstat_psstrings(void *, size_t *); @@ -388,6 +389,7 @@ elf_putnotes(pid_t pid, struct sbuf *sb, size_t *sizep) elf_putnote(NT_PROCSTAT_PSSTRINGS, elf_note_procstat_psstrings, &pid, sb); elf_putnote(NT_PROCSTAT_AUXV, elf_note_procstat_auxv, &pid, sb); + elf_putnote(NT_PROCSTAT_KQUEUES, elf_note_procstat_kqueues, &pid, sb); #endif size = sbuf_end_section(sb, old_len, 1, 0); @@ -756,7 +758,7 @@ procstat_sysctl(void *arg, int what, size_t structsz, size_t *sizep) { size_t len; pid_t pid; - int name[4], structsize; + int name[5], structsize; void *buf, *p; pid = *(pid_t *)arg; @@ -841,6 +843,14 @@ elf_note_procstat_auxv(void *arg, size_t *sizep) sizeof(Elf_Auxinfo), sizep)); } +static void * +elf_note_procstat_kqueues(void *arg, size_t *sizep) +{ + + return (procstat_sysctl(arg, KERN_PROC_KQUEUE, + sizeof(struct kinfo_knote), sizep)); +} + static void * elf_note_procstat_rlimit(void *arg, size_t *sizep) {