Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Oct 2017 11:45:24 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r324237 - in head: lib/libprocstat usr.bin/procstat
Message-ID:  <201710031145.v93BjOqh005336@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Tue Oct  3 11:45:24 2017
New Revision: 324237
URL: https://svnweb.freebsd.org/changeset/base/324237

Log:
  Make procstat(1) recognize process descriptors, so that it shows
  "P" instead of "?" in "procstat -af" output. Note that there are
  still a few more DTYPE_* kinds we don't decode yet.
  
  Reported by:	rwatson
  MFC after:	2 weeks
  Sponsored by:	DARPA, AFRL
  Differential Revision:	https://reviews.freebsd.org/D12426

Modified:
  head/lib/libprocstat/libprocstat.c
  head/lib/libprocstat/libprocstat.h
  head/usr.bin/procstat/procstat.1
  head/usr.bin/procstat/procstat_files.c

Modified: head/lib/libprocstat/libprocstat.c
==============================================================================
--- head/lib/libprocstat/libprocstat.c	Tue Oct  3 11:13:25 2017	(r324236)
+++ head/lib/libprocstat/libprocstat.c	Tue Oct  3 11:45:24 2017	(r324237)
@@ -582,6 +582,10 @@ procstat_getfiles_kvm(struct procstat *procstat, struc
 			type = PS_FST_TYPE_SHM;
 			data = file.f_data;
 			break;
+		case DTYPE_PROCDESC:
+			type = PS_FST_TYPE_PROCDESC;
+			data = file.f_data;
+			break;
 		default:
 			continue;
 		}
@@ -665,6 +669,7 @@ kinfo_type2fst(int kftype)
 		int	kf_type;
 		int	fst_type;
 	} kftypes2fst[] = {
+		{ KF_TYPE_PROCDESC, PS_FST_TYPE_PROCDESC },
 		{ KF_TYPE_CRYPTO, PS_FST_TYPE_CRYPTO },
 		{ KF_TYPE_FIFO, PS_FST_TYPE_FIFO },
 		{ KF_TYPE_KQUEUE, PS_FST_TYPE_KQUEUE },

Modified: head/lib/libprocstat/libprocstat.h
==============================================================================
--- head/lib/libprocstat/libprocstat.h	Tue Oct  3 11:13:25 2017	(r324236)
+++ head/lib/libprocstat/libprocstat.h	Tue Oct  3 11:45:24 2017	(r324237)
@@ -68,6 +68,7 @@
 #define	PS_FST_TYPE_SEM		10
 #define	PS_FST_TYPE_UNKNOWN	11
 #define	PS_FST_TYPE_NONE	12
+#define	PS_FST_TYPE_PROCDESC	13
 
 /*
  * Special descriptor numbers.

Modified: head/usr.bin/procstat/procstat.1
==============================================================================
--- head/usr.bin/procstat/procstat.1	Tue Oct  3 11:13:25 2017	(r324236)
+++ head/usr.bin/procstat/procstat.1	Tue Oct  3 11:45:24 2017	(r324237)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 26, 2017
+.Dd October 3, 2017
 .Dt PROCSTAT 1
 .Os
 .Sh NAME
@@ -212,6 +212,8 @@ shared memory
 kqueue
 .It m
 message queue
+.It P
+process descriptor
 .It p
 pipe
 .It s

Modified: head/usr.bin/procstat/procstat_files.c
==============================================================================
--- head/usr.bin/procstat/procstat_files.c	Tue Oct  3 11:13:25 2017	(r324236)
+++ head/usr.bin/procstat/procstat_files.c	Tue Oct  3 11:45:24 2017	(r324237)
@@ -400,6 +400,11 @@ procstat_files(struct procstat *procstat, struct kinfo
 			xo_emit("{eq:fd_type/sem}");
 			break;
 
+		case PS_FST_TYPE_PROCDESC:
+			str = "P";
+			xo_emit("{eq:fd_type/procdesc}");
+			break;
+
 		case PS_FST_TYPE_NONE:
 			str = "?";
 			xo_emit("{eq:fd_type/none}");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710031145.v93BjOqh005336>