+2009-10-18 Bruno Haible <bruno@clisp.org>
+
+ Implement nproc for HP-UX.
+ * lib/nproc.c: Include <sys/pstat.h>
+ (num_processors): On HP-UX systems, try pstat_getdynamic.
+ * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
+ pstat_getdynamic.
+
2009-10-18 Giuseppe Scrivano <gscrivano@gnu.org>
Bruno Haible <bruno@clisp.org>
#include <sys/types.h>
+#if HAVE_SYS_PSTAT_H
+# include <sys/pstat.h>
+#endif
+
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
}
#endif
+#if HAVE_PSTAT_GETDYNAMIC
+ { /* This works on HP-UX. */
+ struct pst_dynamic psd;
+ if (0 <= pstat_getdynamic (&psd, sizeof psd, 1, 0)
+ && 0 < psd.psd_proc_cnt)
+ return psd.psd_proc_cnt;
+ }
+#endif
+
#if HAVE_SYSCTL && defined HW_NCPU
{ /* This works on MacOS X, FreeBSD, NetBSD, OpenBSD. */
int nprocs;
-# nproc.m4 serial 1
+# nproc.m4 serial 2
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,
# Prerequisites of lib/nproc.c.
AC_DEFUN([gl_PREREQ_NPROC],
[
- AC_CHECK_HEADERS([sys/param.h],,, [AC_INCLUDES_DEFAULT])
+ AC_CHECK_HEADERS([sys/pstat.h sys/param.h],,, [AC_INCLUDES_DEFAULT])
dnl <sys/sysctl.h> requires <sys/param.h> on OpenBSD 4.0.
AC_CHECK_HEADERS([sys/sysctl.h],,,
[AC_INCLUDES_DEFAULT
# include <sys/param.h>
#endif
])
- AC_CHECK_FUNCS([sysctl])
+ AC_CHECK_FUNCS([pstat_getdynamic sysctl])
])