svn commit: r235082 - stable/9/lib/libc/gmon

Eitan Adler eadler at FreeBSD.org
Sun May 6 14:10:57 UTC 2012


Author: eadler
Date: Sun May  6 14:10:56 2012
New Revision: 235082
URL: http://svn.freebsd.org/changeset/base/235082

Log:
  MFC r234819:
  	Allow users of gprof to get per run output files (using the pid)
  
  PR:		bin/99800
  Approved by:	cperciva (implicit)

Modified:
  stable/9/lib/libc/gmon/gmon.c
  stable/9/lib/libc/gmon/moncontrol.3
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/gmon/gmon.c
==============================================================================
--- stable/9/lib/libc/gmon/gmon.c	Sun May  6 13:09:13 2012	(r235081)
+++ stable/9/lib/libc/gmon/gmon.c	Sun May  6 14:10:56 2012	(r235082)
@@ -157,7 +157,12 @@ _mcleanup(void)
 	}
 
 	moncontrol(0);
-	snprintf(outname, sizeof(outname), "%s.gmon", _getprogname());
+	if (getenv("PROFIL_USE_PID"))
+		snprintf(outname, sizeof(outname), "%s.%d.gmon",
+		    _getprogname(), getpid());
+	else
+		snprintf(outname, sizeof(outname), "%s.gmon", _getprogname());
+
 	fd = _open(outname, O_CREAT|O_TRUNC|O_WRONLY, 0666);
 	if (fd < 0) {
 		_warn("_mcleanup: %s", outname);

Modified: stable/9/lib/libc/gmon/moncontrol.3
==============================================================================
--- stable/9/lib/libc/gmon/moncontrol.3	Sun May  6 13:09:13 2012	(r235081)
+++ stable/9/lib/libc/gmon/moncontrol.3	Sun May  6 14:10:56 2012	(r235082)
@@ -98,6 +98,12 @@ however, all functions in that address r
 have their execution time measured.
 Profiling begins on return from
 .Fn monstartup .
+.Sh ENVIRONMENT
+The following environment variables affect the execution of
+.Nm :
+.Bl -tag -width ".Ev PROFIL_USE_PID"
+.It PROFIL_USE_PID
+If set, the pid of the process is inserted into the filename.
 .Sh FILES
 .Bl -tag -width progname.gmon -compact
 .It Pa progname.gmon


More information about the svn-src-all mailing list