Add _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN variables to the
authorHasso Tepper <hasso@dragonflybsd.org>
Thu, 21 Feb 2008 12:47:54 +0000 (12:47 +0000)
committerHasso Tepper <hasso@dragonflybsd.org>
Thu, 21 Feb 2008 12:47:54 +0000 (12:47 +0000)
sysconf(3). These are nonstandard, but implemented in many systems.

lib/libc/gen/sysconf.3
lib/libc/gen/sysconf.c
sys/sys/unistd.h

index f326815..7838f7c 100644 (file)
@@ -31,9 +31,9 @@
 .\"
 .\"    @(#)sysconf.3   8.3 (Berkeley) 4/19/94
 .\" $FreeBSD: src/lib/libc/gen/sysconf.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp $
-.\" $DragonFly: src/lib/libc/gen/sysconf.3,v 1.5 2006/05/26 19:39:36 swildner Exp $
+.\" $DragonFly: src/lib/libc/gen/sysconf.3,v 1.6 2008/02/21 12:47:54 hasso Exp $
 .\"
-.Dd April 19, 1994
+.Dd February 21, 2008
 .Dt SYSCONF 3
 .Os
 .Sh NAME
@@ -158,6 +158,10 @@ otherwise \-1.
 .It Li _SC_2_UPE
 Return 1 if the system supports the User Portability Utilities Option,
 otherwise \-1.
+.It Li _SC_NPROCESSORS_CONF
+The number of processors configured.
+.It Li _SC_NPROCESSORS_ONLN
+The number of processors online.
 .El
 .Sh RETURN VALUES
 If the call to
@@ -192,6 +196,9 @@ Except for the fact that values returned by
 may change over the lifetime of the calling process,
 this function conforms to
 .St -p1003.1-88 .
+.Pp
+_SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN are nonstandard, but implemented
+in many systems.
 .Sh HISTORY
 The
 .Fn sysconf
index 876be4a..9c35c67 100644 (file)
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  * @(#)sysconf.c       8.2 (Berkeley) 3/20/94
- * $DragonFly: src/lib/libc/gen/sysconf.c,v 1.4 2005/11/13 00:07:42 swildner Exp $
+ * $DragonFly: src/lib/libc/gen/sysconf.c,v 1.5 2008/02/21 12:47:54 hasso Exp $
  */
 
 #include <sys/_posix.h>
@@ -286,6 +286,11 @@ sysconf(int name)
                mib[1] = CTL_P1003_1B_TIMER_MAX;
                goto yesno;
 #endif /* _P1003_1B_VISIBLE */
+       case _SC_NPROCESSORS_CONF:
+       case _SC_NPROCESSORS_ONLN:
+               mib[0] = CTL_HW;
+               mib[1] = HW_NCPU;
+               goto yesno;
 
 yesno:         if (sysctl(mib, 2, &value, &len, NULL, 0) == -1)
                        return (-1);
index e41779e..1646fd2 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)unistd.h    8.2 (Berkeley) 1/7/94
  * $FreeBSD: src/sys/sys/unistd.h,v 1.22.2.2 2000/08/22 01:46:30 jhb Exp $
- * $DragonFly: src/sys/sys/unistd.h,v 1.8 2007/03/01 01:46:53 corecode Exp $
+ * $DragonFly: src/sys/sys/unistd.h,v 1.9 2008/02/21 12:47:54 hasso Exp $
  */
 
 #ifndef _SYS_UNISTD_H_
 
 #endif /* _P1003_1B_VISIBLE */
 
+#define _SC_NPROCESSORS_CONF   57
+#define _SC_NPROCESSORS_ONLN   58
+
 #ifndef _POSIX_SOURCE
 /*
  * rfork() options.