Print this page
INTRO-118 enabling USDT probes in zones should be more scalable

@@ -23,11 +23,13 @@
 /*
  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident   "%Z%%M% %I%     %E% SMI"
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
 
 #include <dt_impl.h>
 #include <stddef.h>
 #include <errno.h>
 #include <assert.h>

@@ -162,13 +164,10 @@
 }
 
 int
 dtrace_go(dtrace_hdl_t *dtp)
 {
-        void *dof;
-        int err;
-
         if (dtp->dt_active)
                 return (dt_set_errno(dtp, EINVAL));
 
         /*
          * If a dtrace:::ERROR program and callback are registered, enable the

@@ -180,19 +179,10 @@
         if (dtp->dt_errprog != NULL &&
             dtrace_program_exec(dtp, dtp->dt_errprog, NULL) == -1 && (
             dtp->dt_errno != ENOTTY || dtp->dt_vector == NULL))
                 return (-1); /* dt_errno has been set for us */
 
-        if ((dof = dtrace_getopt_dof(dtp)) == NULL)
-                return (-1); /* dt_errno has been set for us */
-
-        err = dt_ioctl(dtp, DTRACEIOC_ENABLE, dof);
-        dtrace_dof_destroy(dtp, dof);
-
-        if (err == -1 && (errno != ENOTTY || dtp->dt_vector == NULL))
-                return (dt_set_errno(dtp, errno));
-
         if (dt_ioctl(dtp, DTRACEIOC_GO, &dtp->dt_beganon) == -1) {
                 if (errno == EACCES)
                         return (dt_set_errno(dtp, EDT_DESTRUCTIVE));
 
                 if (errno == EALREADY)