[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nproc: use pstat_getdynamic when it is available.
From: |
Bruno Haible |
Subject: |
nproc: use pstat_getdynamic when it is available. |
Date: |
Sun, 18 Oct 2009 10:42:28 +0200 |
User-agent: |
KMail/1.9.9 |
And this adds support for HP-UX to the nproc module.
2009-10-18 Bruno Haible <address@hidden>
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.
--- lib/nproc.c.orig 2009-10-18 10:38:58.000000000 +0200
+++ lib/nproc.c 2009-10-18 10:38:54.000000000 +0200
@@ -25,6 +25,10 @@
#include <sys/types.h>
+#if HAVE_SYS_PSTAT_H
+# include <sys/pstat.h>
+#endif
+
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
@@ -49,6 +53,15 @@
}
#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;
--- m4/nproc.m4.orig 2009-10-18 10:38:58.000000000 +0200
+++ m4/nproc.m4 2009-10-18 10:25:36.000000000 +0200
@@ -1,4 +1,4 @@
-# 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,
@@ -12,7 +12,7 @@
# 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
@@ -20,5 +20,5 @@
# include <sys/param.h>
#endif
])
- AC_CHECK_FUNCS([sysctl])
+ AC_CHECK_FUNCS([pstat_getdynamic sysctl])
])