PERFORCE change 95901 for review

John Birrell jb at FreeBSD.org
Sat Apr 22 23:28:20 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=95901

Change 95901 by jb at jb_freebsd2 on 2006/04/22 23:27:57

	If the module failed to unload because it is still busy, don't
	try to deregister the event handler the next time around. Doing
	that causes a panic.

Affected files ...

.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_modevent.c#4 edit

Differences ...

==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_modevent.c#4 (text+ko) ====

@@ -40,11 +40,18 @@
 		break;
 
 	case MOD_UNLOAD:
-		/* De-register the device cloning event handler. */
-		EVENTHANDLER_DEREGISTER(dev_clone, eh_tag);
+		/*
+		 * Check if there is still an event handler callback
+		 * registered.
+		 */
+		if (eh_tag != 0) {
+			/* De-register the device cloning event handler. */
+			EVENTHANDLER_DEREGISTER(dev_clone, eh_tag);
+			eh_tag = 0;
 
-		/* Stop device cloning. */
-		clone_cleanup(&dtrace_clones);
+			/* Stop device cloning. */
+			clone_cleanup(&dtrace_clones);
+		}
 
 		error = dtrace_unload();
 		break;


More information about the p4-projects mailing list