Author: jhb
Date: Mon Jun  4 19:09:14 2012
New Revision: 236577
URL: http://svn.freebsd.org/changeset/base/236577

Log:
  Allow the -p argument to kdump to accept either a PID or a thread ID.
  
  Submitted by: Dmitry Banschikov  d.banschikov hostcomm ru
  MFC after:    1 week

Modified:
  head/usr.bin/kdump/kdump.1
  head/usr.bin/kdump/kdump.c

Modified: head/usr.bin/kdump/kdump.1
==============================================================================
--- head/usr.bin/kdump/kdump.1  Mon Jun  4 18:45:18 2012        (r236576)
+++ head/usr.bin/kdump/kdump.1  Mon Jun  4 19:09:14 2012        (r236577)
@@ -28,7 +28,7 @@
 .\"    @(#)kdump.1     8.1 (Berkeley) 6/6/93
 .\" $FreeBSD$
 .\"
-.Dd April 20, 2012
+.Dd June 4, 2012
 .Dt KDUMP 1
 .Os
 .Sh NAME
@@ -86,9 +86,9 @@ string.
 Suppressing this feature yields a more consistent output format and is
 easily amenable to further processing.
 .It Fl p Ar pid
-Display only trace events that correspond to the process
+Display only trace events that correspond to the process or thread
 .Ar pid .
-This may be useful when there are multiple processes recorded in the
+This may be useful when there are multiple processes or threads recorded in the
 same trace file.
 .It Fl R
 Display relative timestamps (time since previous entry).

Modified: head/usr.bin/kdump/kdump.c
==============================================================================
--- head/usr.bin/kdump/kdump.c  Mon Jun  4 18:45:18 2012        (r236576)
+++ head/usr.bin/kdump/kdump.c  Mon Jun  4 19:09:14 2012        (r236577)
@@ -251,7 +251,8 @@ main(int argc, char *argv[])
                        }
                }
                if (trpoints & (1<<ktr_header.ktr_type))
-                       if (pid == 0 || ktr_header.ktr_pid == pid)
+                       if (pid == 0 || ktr_header.ktr_pid == pid ||
+                           ktr_header.ktr_tid == pid)
                                dumpheader(&ktr_header);
                if ((ktrlen = ktr_header.ktr_len) < 0)
                        errx(1, "bogus length 0x%x", ktrlen);
@@ -266,7 +267,8 @@ main(int argc, char *argv[])
                if (fetchprocinfo(&ktr_header, (u_int *)m) != 0)
                        continue;
                sv_flags = abidump(&ktr_header);
-               if (pid && ktr_header.ktr_pid != pid)
+               if (pid && ktr_header.ktr_pid != pid &&
+                   ktr_header.ktr_tid != pid)
                        continue;
                if ((trpoints & (1<<ktr_header.ktr_type)) == 0)
                        continue;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to