# HG changeset patch # User Bruno Haible # Date 1255856190 -7200 # Node ID 9918c96ad4acfee005a8920683cab05036696878 # Parent 9ceaaf0610a54c2f167cf730c1c5ae8725b7ebe2 Implement nproc for IRIX. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-10-18 Bruno Haible + + Implement nproc for IRIX. + * lib/nproc.c: Include . + (num_processors): On IRIX systems, try sysmp. + * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp. + 2009-10-18 Bruno Haible Implement nproc for HP-UX. diff --git a/lib/nproc.c b/lib/nproc.c --- a/lib/nproc.c +++ b/lib/nproc.c @@ -29,6 +29,10 @@ # include #endif +#if HAVE_SYS_SYSMP_H +# include +#endif + #if HAVE_SYS_PARAM_H # include #endif @@ -62,6 +66,17 @@ } #endif +#if HAVE_SYSMP && defined MP_NAPROCS + { /* This works on IRIX. */ + /* MP_NPROCS yields the number of installed processors. + MP_NAPROCS yields the number of processors available to unprivileged + processes. We need the latter. */ + int nprocs = sysmp (MP_NAPROCS); + if (0 < nprocs) + return nprocs; + } +#endif + #if HAVE_SYSCTL && defined HW_NCPU { /* This works on MacOS X, FreeBSD, NetBSD, OpenBSD. */ int nprocs; diff --git a/m4/nproc.m4 b/m4/nproc.m4 --- a/m4/nproc.m4 +++ b/m4/nproc.m4 @@ -1,4 +1,4 @@ -# nproc.m4 serial 2 +# nproc.m4 serial 3 dnl Copyright (C) 2009 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,7 +12,8 @@ # Prerequisites of lib/nproc.c. AC_DEFUN([gl_PREREQ_NPROC], [ - AC_CHECK_HEADERS([sys/pstat.h sys/param.h],,, [AC_INCLUDES_DEFAULT]) + AC_CHECK_HEADERS([sys/pstat.h sys/sysmp.h sys/param.h],,, + [AC_INCLUDES_DEFAULT]) dnl requires on OpenBSD 4.0. AC_CHECK_HEADERS([sys/sysctl.h],,, [AC_INCLUDES_DEFAULT @@ -20,5 +21,5 @@ # include #endif ]) - AC_CHECK_FUNCS([pstat_getdynamic sysctl]) + AC_CHECK_FUNCS([pstat_getdynamic sysmp sysctl]) ])