CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2020-11-16 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Tue Nov 17 03:20:33 UTC 2020

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Remove a pointless printf.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.40 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.41
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.40	Sat May 23 23:42:41 2020
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Tue Nov 17 03:20:33 2020
@@ -13840,7 +13840,6 @@ doferr:
 	return (NULL);
 #endif /* __FreeBSD__ */
 #ifdef __NetBSD__
-	printf("dtrace: XXX %s not implemented (name=%s)\n", __func__, name);
 	return (NULL);
 #endif /* __NetBSD__ */
 }



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 15:24:57 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Correct compilation of osnet/dist/uts/common/dtrace/dtrace.c under Clang

Add missing const keywords in dtrace_strncmp().

Initialize lim1 and lim2 to zero always. This prevents a false positive
about potentially unset but used variable.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.36 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.37
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.36	Mon May 28 21:05:06 2018
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Wed Jun  6 15:24:57 2018
@@ -1263,7 +1263,7 @@ dtrace_strtoll(char *input, int base, si
  * Compare two strings using safe loads.
  */
 static int
-dtrace_strncmp(char *s1, char *s2, size_t limit)
+dtrace_strncmp(const char *s1, const char *s2, size_t limit)
 {
 	uint8_t c1, c2;
 	volatile uint16_t *flags;
@@ -6592,7 +6592,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, 
 			size_t sz = state->dts_options[DTRACEOPT_STRSIZE];
 			uintptr_t s1 = regs[r1];
 			uintptr_t s2 = regs[r2];
-			size_t lim1, lim2;
+			size_t lim1 = 0, lim2 = 0;
 
 			if (s1 != 0 &&
 			!dtrace_strcanload(s1, sz, , mstate, vstate))



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2016-10-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  9 14:05:12 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
PR/51539: Henning Petersen: replace , with ;


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.33 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.34
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.33	Sat Jul 16 22:09:10 2016
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Oct  9 10:05:12 2016
@@ -16659,7 +16659,7 @@ dtrace_state_worker_add(void (*fn)(dtrac
 	w = kmem_alloc(sizeof(*w), KM_SLEEP);
 	mutex_init(>lock, MUTEX_DEFAULT, IPL_NONE);
 	cv_init(>cv, "dtrace");
-	w->interval = ((uintmax_t)hz * interval) / NANOSEC,
+	w->interval = ((uintmax_t)hz * interval) / NANOSEC;
 	w->fn = fn;
 	w->state = state;
 	w->exiting = false;



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2015-09-24 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Sep 24 14:23:39 UTC 2015

Removed Files:
src/external/cddl/osnet/dist/uts/common/dtrace: lockstat.c profile.c
sdt_subr.c systrace.c

Log Message:
remove dup copies of code that we've moved to dev a long while ago


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r0 \
src/external/cddl/osnet/dist/uts/common/dtrace/lockstat.c
cvs rdiff -u -r1.3 -r0 \
src/external/cddl/osnet/dist/uts/common/dtrace/profile.c \
src/external/cddl/osnet/dist/uts/common/dtrace/sdt_subr.c \
src/external/cddl/osnet/dist/uts/common/dtrace/systrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2015-01-31 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sat Jan 31 13:36:29 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Comment out currently unused dtrace_dof_char function (for clang build).


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.28 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.29
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.28	Sat Jul 26 04:54:20 2014
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sat Jan 31 13:36:29 2015
@@ -11758,6 +11758,7 @@ dtrace_dof_copyin(uintptr_t uarg, int *e
 	return (dof);
 }
 
+#if 0
 #if !defined(sun)
 static __inline uchar_t
 dtrace_dof_char(char c) {
@@ -11792,6 +11793,7 @@ dtrace_dof_char(char c) {
 	return (0);
 }
 #endif
+#endif
 
 static dof_hdr_t *
 dtrace_dof_property(const char *name)



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2014-03-06 Thread Ryota Ozaki
Module Name:src
Committed By:   ozaki-r
Date:   Fri Mar  7 02:37:16 UTC 2014

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Fix build of DTrace with GCC 4.8

Use __diagused for a variable which is only referred by KASSERT.

Advised by matt@


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.25 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.26
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.25	Wed Mar  5 20:14:15 2014
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Fri Mar  7 02:37:16 2014
@@ -16655,7 +16655,7 @@ dtrace_state_worker_add(void (*fn)(dtrac
 hrtime_t interval)
 {
 	struct dtrace_state_worker *w;
-	int error;
+	int error __diagused;
 
 	w = kmem_alloc(sizeof(*w), KM_SLEEP);
 	mutex_init(w-lock, MUTEX_DEFAULT, IPL_NONE);
@@ -1,7 +1,6 @@ dtrace_state_worker_add(void (*fn)(dtrac
 	w-exiting = false;
 	error = kthread_create(PRI_NONE, KTHREAD_MPSAFE|KTHREAD_MUSTJOIN, NULL,
 	dtrace_state_worker_thread, w, w-lwp, dtrace-state-worker);
-	(void) error;
 	KASSERT(error == 0); /* XXX */
 	return w;
 }
@@ -16674,7 +16673,7 @@ dtrace_state_worker_add(void (*fn)(dtrac
 void
 dtrace_state_worker_remove(struct dtrace_state_worker *w)
 {
-	int error;
+	int error __diagused;
 
 	KASSERT(!w-exiting);
 	mutex_enter(w-lock);



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2013-04-14 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Apr 14 16:52:47 UTC 2013

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
stub out for now


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.21 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.22
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.21	Sun Mar  3 11:56:15 2013
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Apr 14 12:52:47 2013
@@ -16603,7 +16603,9 @@ static int		dtrace_unload(void);
 #include dtrace_unload.c
 #include dtrace_vtime.c
 #include dtrace_hacks.c
+#if defined(__i386__) || defined(__x86_64__)
 #include dtrace_isa.c
+#endif
 
 MODULE(MODULE_CLASS_DRIVER, dtrace, solaris);
 



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2013-03-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Mar  3 16:56:15 UTC 2013

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
need to be a DRIVER class module to be able to autoload when /dev/dtrace/dtrace
is opened.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.20 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.21
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.20	Sat Jun 16 13:31:47 2012
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Mar  3 11:56:15 2013
@@ -16605,7 +16605,7 @@ static int		dtrace_unload(void);
 #include dtrace_hacks.c
 #include dtrace_isa.c
 
-MODULE(MODULE_CLASS_MISC, dtrace, solaris);
+MODULE(MODULE_CLASS_DRIVER, dtrace, solaris);
 
 #if 0
 DEV_MODULE(dtrace, dtrace_modevent, NULL);



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2011-09-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  7 21:32:07 UTC 2011

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
catch up with vmem_alloc signature change.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.17 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.18
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.17	Wed Aug 31 17:57:16 2011
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Wed Sep  7 17:32:07 2011
@@ -7801,6 +7801,7 @@
 	dtrace_probe_t *probe, **probes;
 	dtrace_provider_t *provider = (dtrace_provider_t *)prov;
 	dtrace_id_t id;
+	vmem_addr_t offset;
 
 	if (provider == dtrace_provider) {
 		ASSERT(MUTEX_HELD(dtrace_lock));
@@ -7808,8 +7809,9 @@
 		mutex_enter(dtrace_lock);
 	}
 
-	id = (dtrace_id_t)(uintptr_t)vmem_alloc(dtrace_arena, 1,
-	VM_BESTFIT | VM_SLEEP);
+	if (vmem_alloc(dtrace_arena, 1, VM_BESTFIT | VM_SLEEP, offset) != 0)
+		ASSERT(0);
+	id = (dtrace_id_t)(uintptr_t)offset;
 	probe = kmem_zalloc(sizeof (dtrace_probe_t), KM_SLEEP);
 
 	probe-dtpr_id = id;
@@ -9930,6 +9932,7 @@
 	dtrace_recdesc_t *frec;
 	dtrace_aggid_t aggid;
 	dtrace_state_t *state = ecb-dte_state;
+	vmem_addr_t offset;
 
 	agg = kmem_zalloc(sizeof (dtrace_aggregation_t), KM_SLEEP);
 	agg-dtag_ecb = ecb;
@@ -10036,8 +10039,11 @@
 	/*
 	 * We need to allocate an id for this aggregation.
 	 */
-	aggid = (dtrace_aggid_t)(uintptr_t)vmem_alloc(state-dts_aggid_arena, 1,
-	VM_BESTFIT | VM_SLEEP);
+	if (vmem_alloc(state-dts_aggid_arena, 1, VM_BESTFIT | VM_SLEEP,
+	offset) != 0)
+		ASSERT(0);
+	aggid = (dtrace_aggid_t)(uintptr_t)offset;
+
 
 	if (aggid - 1 = state-dts_naggregations) {
 		dtrace_aggregation_t **oaggs = state-dts_aggregations;



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2011-07-26 Thread YAMAMOTO Takashi
Module Name:src
Committed By:   yamt
Date:   Tue Jul 26 12:33:23 UTC 2011

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
fix a merge botch in rev.1.7


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.14 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.15
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.14	Mon Jul 18 02:47:52 2011
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Tue Jul 26 12:33:23 2011
@@ -355,7 +355,7 @@
 #else
 	(void (*)(void *, dtrace_modctl_t *))dtrace_nullop,
 #endif
-	(int (*)(void *, dtrace_id_t, void *))dtrace_nullop,
+	(int (*)(void *, dtrace_id_t, void *))dtrace_enable_nullop,
 	(void (*)(void *, dtrace_id_t, void *))dtrace_nullop,
 	(void (*)(void *, dtrace_id_t, void *))dtrace_nullop,
 	(void (*)(void *, dtrace_id_t, void *))dtrace_nullop,



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2011-07-17 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jul 18 00:43:35 UTC 2011

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
fix gcc uninitialized warnings


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.12 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.13
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.12	Sun Aug 22 14:01:01 2010
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Jul 17 20:43:35 2011
@@ -8092,8 +8092,8 @@
 {
 	dtrace_probekey_t pkey;
 	uint32_t priv;
-	uid_t uid;
-	zoneid_t zoneid;
+	uid_t uid = 0;	/* XXX: gcc */
+	zoneid_t zoneid = 0;	/* XXX: gcc */
 
 	ASSERT(MUTEX_HELD(dtrace_lock));
 	dtrace_ecb_create_cache = NULL;



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2011-07-17 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jul 18 02:47:52 UTC 2011

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
better fix for gcc uninitialized.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.13 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.14
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.13	Sun Jul 17 20:43:35 2011
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Jul 17 22:47:52 2011
@@ -6939,8 +6939,12 @@
 #if defined(sun)
 	if (cr == NULL || PRIV_POLICY_ONLY(cr, PRIV_ALL, B_FALSE)) {
 		/*
-		 * For DTRACE_PRIV_ALL, the uid and zoneid don't matter.
+		 * For DTRACE_PRIV_ALL, the uid and zoneid don't matter,
+		 * but for GCC they do.
 		 */
+		*uidp = 0;
+		*zoneidp = 0;
+
 		priv = DTRACE_PRIV_ALL;
 	} else {
 		*uidp = crgetuid(cr);
@@ -6960,6 +6964,8 @@
 	}
 #else
 	priv = DTRACE_PRIV_ALL;
+	*uidp = 0;
+	*zoneidp = 0;
 #endif
 
 	*privp = priv;
@@ -8092,8 +8098,8 @@
 {
 	dtrace_probekey_t pkey;
 	uint32_t priv;
-	uid_t uid = 0;	/* XXX: gcc */
-	zoneid_t zoneid = 0;	/* XXX: gcc */
+	uid_t uid;
+	zoneid_t zoneid;
 
 	ASSERT(MUTEX_HELD(dtrace_lock));
 	dtrace_ecb_create_cache = NULL;



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2010-08-22 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug 22 18:01:02 UTC 2010

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Adapt to new module locking regime. Is that even right?


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.11 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.12
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.11	Fri Apr 23 07:39:53 2010
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Aug 22 14:01:01 2010
@@ -8032,12 +8032,12 @@
 		*((char **)mod_nbsd-mod_info-mi_name) = netbsd;
 		}
 
-		mutex_enter(module_lock);
+		kernconfig_lock();
 		prv-dtpv_pops.dtps_provide_module(prv-dtpv_arg, mod_nbsd);
 		TAILQ_FOREACH(mod, module_list, mod_chain) {
 			prv-dtpv_pops.dtps_provide_module(prv-dtpv_arg, mod);
 		}
-		mutex_exit(module_lock);
+		kernconfig_unlock();
 #endif
 
 		mutex_exit(mod_lock);



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2010-02-25 Thread Darran Hunt
Module Name:src
Committed By:   darran
Date:   Thu Feb 25 11:12:02 UTC 2010

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
DTrace: fix a problem with the code waiting for the deadman thread to exit
- now it does actually wait for it to exit.  Thanks to Frank Kardel for
spotting this.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.4 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.5
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.4	Wed Feb 24 21:08:54 2010
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Thu Feb 25 11:12:02 2010
@@ -248,6 +248,7 @@
 
 kmutex_t dtrace_deadman_mutex;
 void *dtrace_deadman_wchan; 
+void *dtrace_cleanup_wchan; 
 int dtrace_deadman_alive; 			/* deadman thread keep alive */
 lwp_t *dtrace_deadman_proc;
 #endif
@@ -12872,6 +12873,9 @@
 	state-dts_alive = now;
 	}
 
+	/* let the cleanup code know we're done */
+	dtrace_deadman_alive = -1;
+
 	kthread_exit(0);
 }
 #endif
@@ -13729,10 +13733,16 @@
 
 	/* Kill off the deadman thread */
 	if (dtrace_deadman_alive) {
+	/* tell the deadman thread to exit */
 	dtrace_deadman_alive = 0;
+	dtrace_cleanup_wchan = dtrace_cleanup_wchan;
 	wakeup(dtrace_deadman_wchan);
 	/* Wait for thread to exit */
 	mutex_enter(dtrace_deadman_mutex);
+	do {
+		mtsleep(dtrace_cleanup_wchan, PRI_BIO,
+			deadman_exit, 10, dtrace_deadman_mutex);
+	} while (!dtrace_deadman_alive);
 	mutex_exit(dtrace_deadman_mutex);
 	mutex_destroy(dtrace_deadman_mutex);
 	}



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2010-02-24 Thread Darran Hunt
Module Name:src
Committed By:   darran
Date:   Wed Feb 24 21:08:54 UTC 2010

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Fix a bug in the dtrace_state_deadman() thread; return should have been
a continue (thanks Frank!).


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.3 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.4
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.3	Sun Feb 21 01:46:34 2010
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Wed Feb 24 21:08:54 2010
@@ -12856,7 +12856,7 @@
 
 	if (state != dtrace_anon.dta_state 
 		now - state-dts_laststatus = dtrace_deadman_user)
-		return;
+		continue;
 
 	/*
 	 * We must be sure that dts_alive never appears to be less than the