Author: markj
Date: Sat Jul  6 03:40:00 2013
New Revision: 252861
URL: http://svnweb.freebsd.org/changeset/base/252861

Log:
  MFC r252325:
  The dtmalloc provider uses the short description of a malloc type as the
  function name of its corresponding DTrace probes. These descriptions may
  contain whitespace, but probe names cannot, so just replace any whitespace
  with underscores when creating probes.

Modified:
  stable/8/sys/cddl/dev/dtmalloc/dtmalloc.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/cddl/   (props changed)

Modified: stable/8/sys/cddl/dev/dtmalloc/dtmalloc.c
==============================================================================
--- stable/8/sys/cddl/dev/dtmalloc/dtmalloc.c   Sat Jul  6 03:39:40 2013        
(r252860)
+++ stable/8/sys/cddl/dev/dtmalloc/dtmalloc.c   Sat Jul  6 03:40:00 2013        
(r252861)
@@ -28,6 +28,7 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
+#include <sys/ctype.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
@@ -111,8 +112,17 @@ dtmalloc_type_cb(struct malloc_type *mtp
 {
        char name[DTRACE_FUNCNAMELEN];
        struct malloc_type_internal *mtip = mtp->ks_handle;
+       int i;
 
+       /*
+        * malloc_type descriptions are allowed to contain whitespace, but
+        * DTrace probe identifiers are not, so replace the whitespace with
+        * underscores.
+        */
        strlcpy(name, mtp->ks_shortdesc, sizeof(name));
+       for (i = 0; name[i] != 0; i++)
+               if (isspace(name[i]))
+                       name[i] = '_';
 
        if (dtrace_probe_lookup(dtmalloc_id, NULL, name, "malloc") != 0)
                return;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to