svn commit: r257213 - head/cddl/contrib/opensolaris/cmd/lockstat

Mark Johnston markj at FreeBSD.org
Sun Oct 27 16:18:49 UTC 2013


Author: markj
Date: Sun Oct 27 16:18:48 2013
New Revision: 257213
URL: http://svnweb.freebsd.org/changeset/base/257213

Log:
  If the initial attempt to open /dev/ksyms fails, kldload the ksyms module
  and retry.

Modified:
  head/cddl/contrib/opensolaris/cmd/lockstat/sym.c

Modified: head/cddl/contrib/opensolaris/cmd/lockstat/sym.c
==============================================================================
--- head/cddl/contrib/opensolaris/cmd/lockstat/sym.c	Sun Oct 27 16:01:11 2013	(r257212)
+++ head/cddl/contrib/opensolaris/cmd/lockstat/sym.c	Sun Oct 27 16:18:48 2013	(r257213)
@@ -179,8 +179,19 @@ symtab_init(void)
 	size_t		sz;
 #endif
 
+#if defined(__FreeBSD__)
+	if ((fd = open("/dev/ksyms", O_RDONLY)) == -1) {
+		if (errno == ENOENT && modfind("ksyms") == -1) {
+			kldload("ksyms");
+			fd = open("/dev/ksyms", O_RDONLY);
+		}
+		if (fd == -1)
+			return (-1);
+	}
+#else
 	if ((fd = open("/dev/ksyms", O_RDONLY)) == -1)
 		return (-1);
+#endif
 
 #if defined(sun)
 	(void) elf_version(EV_CURRENT);


More information about the svn-src-head mailing list