Module Name:    src
Committed By:   joerg
Date:           Thu Aug  2 12:43:42 UTC 2012

Modified Files:
        src/lib/libpthread: pthread.c

Log Message:
Prefer sysconf to obtain number of CPUs.


To generate a diff of this commit:
cvs rdiff -u -r1.135 -r1.136 src/lib/libpthread/pthread.c

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

Modified files:

Index: src/lib/libpthread/pthread.c
diff -u src/lib/libpthread/pthread.c:1.135 src/lib/libpthread/pthread.c:1.136
--- src/lib/libpthread/pthread.c:1.135	Fri May  4 12:26:33 2012
+++ src/lib/libpthread/pthread.c	Thu Aug  2 12:43:41 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: pthread.c,v 1.135 2012/05/04 12:26:33 joerg Exp $	*/
+/*	$NetBSD: pthread.c,v 1.136 2012/08/02 12:43:41 joerg Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2002, 2003, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -30,14 +30,14 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: pthread.c,v 1.135 2012/05/04 12:26:33 joerg Exp $");
+__RCSID("$NetBSD: pthread.c,v 1.136 2012/08/02 12:43:41 joerg Exp $");
 
 #define	__EXPOSE_STACK	1
 
 #include <sys/param.h>
 #include <sys/exec_elf.h>
 #include <sys/mman.h>
-#include <sys/sysctl.h>
+#include <sys/lwp.h>
 #include <sys/lwpctl.h>
 #include <sys/tls.h>
 
@@ -153,21 +153,11 @@ pthread__init(void)
 {
 	pthread_t first;
 	char *p;
-	int i, mib[2];
-	size_t len;
+	int i;
 	extern int __isthreaded;
 
 	pthread__pagesize = (size_t)sysconf(_SC_PAGESIZE);
-
-	mib[0] = CTL_HW;
-	mib[1] = HW_NCPU; 
-
-	len = sizeof(pthread__concurrency);
-	if (sysctl(mib, 2, &pthread__concurrency, &len, NULL, 0) == -1)
-		err(1, "sysctl(hw.ncpu");
-
-	mib[0] = CTL_KERN;
-	mib[1] = KERN_OSREV; 
+	pthread__concurrency = sysconf(_SC_NPROCESSORS_CONF);
 
 	/* Initialize locks first; they're needed elsewhere. */
 	pthread__lockprim_init();

Reply via email to