diff options
author | Bruno Haible <bruno@clisp.org> | 2009-10-18 11:22:22 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-10-18 11:22:22 +0200 |
commit | fe8e9df2bc219bfa84ca8c04e75bca37ef5fda41 (patch) | |
tree | ef12130d3c2df7c7f2fe91f3a4569a84bedce7c4 | |
parent | c1c314994ba1f47f5af0be7600c400841c5d34da (diff) | |
download | gnulib-fe8e9df2bc219bfa84ca8c04e75bca37ef5fda41.tar.gz |
Implement nproc for mingw.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib/nproc.c | 14 |
2 files changed, 20 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2009-10-18 Bruno Haible <bruno@clisp.org> + Implement nproc for mingw. + * lib/nproc.c: Include <windows.h> + (num_processors): On native Windows platforms, try GetSystemInfo. + +2009-10-18 Bruno Haible <bruno@clisp.org> + Implement nproc for IRIX. * lib/nproc.c: Include <sys/sysmp.h>. (num_processors): On IRIX systems, try sysmp. diff --git a/lib/nproc.c b/lib/nproc.c index 04a047cfb4..b5a70b193a 100644 --- a/lib/nproc.c +++ b/lib/nproc.c @@ -41,6 +41,11 @@ # include <sys/sysctl.h> #endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# define WIN32_LEAN_AND_MEAN +# include <windows.h> +#endif + #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) /* Return the total number of processors. The result is guaranteed to @@ -90,5 +95,14 @@ num_processors (void) } #endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + { /* This works on native Windows platforms. */ + SYSTEM_INFO system_info; + GetSystemInfo (&system_info); + if (0 < system_info.dwNumberOfProcessors) + return system_info.dwNumberOfProcessors; + } +#endif + return 1; } |