# HG changeset patch # User Bruno Haible # Date 1255857742 -7200 # Node ID 70f69bf8b89838779bbc2405b47fe1e131ebd715 # Parent 9918c96ad4acfee005a8920683cab05036696878 Implement nproc for mingw. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-10-18 Bruno Haible + + Implement nproc for mingw. + * lib/nproc.c: Include + (num_processors): On native Windows platforms, try GetSystemInfo. + 2009-10-18 Bruno Haible Implement nproc for IRIX. diff --git a/lib/nproc.c b/lib/nproc.c --- a/lib/nproc.c +++ b/lib/nproc.c @@ -41,6 +41,11 @@ # include #endif +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# define WIN32_LEAN_AND_MEAN +# include +#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 @@ } #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; }