Skip Menu |

This queue is for tickets about the Unix-Processors CPAN distribution.

Report information
The Basics
Id: 53894
Status: resolved
Priority: 0/
Queue: Unix-Processors

People
Owner: wsnyder [...] wsnyder.org
Requestors: justincase [...] yopmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Mac OSX- displays wrong cpu count
On a MacBook with Core 2 Duo the following code: use Unix::Processors; my $procs = Unix::Processors->new; printf "%s %s\n", $procs->max_online, $procs->max_physical; # returns: 1 1 But it should return: 2 2 Show quoted text
> sysctl -a | grep cpu | grep core
machdep.cpu.cores_per_package: 2 machdep.cpu.core_count: 2 Show quoted text
> uname -a
Darwin coredump.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov 3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 i386 MacBook2,1 Darwin
I don't have a Mac to fix this on, but would gladly take a patch back. As you probably guessed, it defaults to 1 if it can't figure anything else out.
From: justincase [...] yopmail.com
On Thu Jan 21 16:28:25 2010, WSNYDER wrote: Show quoted text
> I don't have a Mac to fix this on, but would gladly take a patch back. > > As you probably guessed, it defaults to 1 if it can't figure anything > else out.
This program works correctly on the mac: http://github.com/certik/sysconf/blob/master/ncpus.c
Great, all I need then is a #ifdef to enable it. Please attach the output from this. echo "int main() {}" > gcc_predefines.c gcc -E -dM -c gcc_predefines.c | sort
From: justincase [...] yopmail.com
On Thu Jan 21 21:28:32 2010, WSNYDER wrote: Show quoted text
> Great, all I need then is a #ifdef to enable it. > > Please attach the output from this. > > echo "int main() {}" > gcc_predefines.c > gcc -E -dM -c gcc_predefines.c | sort
attached. thanks!
Subject: gcc_predefines.txt
#define OBJC_NEW_PROPERTIES 1 #define _LP64 1 #define __APPLE_CC__ 5646 #define __APPLE__ 1 #define __BLOCKS__ 1 #define __CHAR_BIT__ 8 #define __CONSTANT_CFSTRINGS__ 1 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 #define __DBL_DIG__ 15 #define __DBL_EPSILON__ 2.2204460492503131e-16 #define __DBL_HAS_DENORM__ 1 #define __DBL_HAS_INFINITY__ 1 #define __DBL_HAS_QUIET_NAN__ 1 #define __DBL_MANT_DIG__ 53 #define __DBL_MAX_10_EXP__ 308 #define __DBL_MAX_EXP__ 1024 #define __DBL_MAX__ 1.7976931348623157e+308 #define __DBL_MIN_10_EXP__ (-307) #define __DBL_MIN_EXP__ (-1021) #define __DBL_MIN__ 2.2250738585072014e-308 #define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL #define __DEC128_EPSILON__ 1E-33DL #define __DEC128_MANT_DIG__ 34 #define __DEC128_MAX_EXP__ 6144 #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL #define __DEC128_MIN_EXP__ (-6143) #define __DEC128_MIN__ 1E-6143DL #define __DEC32_DEN__ 0.000001E-95DF #define __DEC32_EPSILON__ 1E-6DF #define __DEC32_MANT_DIG__ 7 #define __DEC32_MAX_EXP__ 96 #define __DEC32_MAX__ 9.999999E96DF #define __DEC32_MIN_EXP__ (-95) #define __DEC32_MIN__ 1E-95DF #define __DEC64_DEN__ 0.000000000000001E-383DD #define __DEC64_EPSILON__ 1E-15DD #define __DEC64_MANT_DIG__ 16 #define __DEC64_MAX_EXP__ 384 #define __DEC64_MAX__ 9.999999999999999E384DD #define __DEC64_MIN_EXP__ (-383) #define __DEC64_MIN__ 1E-383DD #define __DECIMAL_DIG__ 21 #define __DEC_EVAL_METHOD__ 2 #define __DYNAMIC__ 1 #define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 1062 #define __FINITE_MATH_ONLY__ 0 #define __FLT_DENORM_MIN__ 1.40129846e-45F #define __FLT_DIG__ 6 #define __FLT_EPSILON__ 1.19209290e-7F #define __FLT_EVAL_METHOD__ 0 #define __FLT_HAS_DENORM__ 1 #define __FLT_HAS_INFINITY__ 1 #define __FLT_HAS_QUIET_NAN__ 1 #define __FLT_MANT_DIG__ 24 #define __FLT_MAX_10_EXP__ 38 #define __FLT_MAX_EXP__ 128 #define __FLT_MAX__ 3.40282347e+38F #define __FLT_MIN_10_EXP__ (-37) #define __FLT_MIN_EXP__ (-125) #define __FLT_MIN__ 1.17549435e-38F #define __FLT_RADIX__ 2 #define __GNUC_GNU_INLINE__ 1 #define __GNUC_MINOR__ 2 #define __GNUC_PATCHLEVEL__ 1 #define __GNUC__ 4 #define __GXX_ABI_VERSION 1002 #define __INTMAX_MAX__ 9223372036854775807L #define __INTMAX_TYPE__ long int #define __INT_MAX__ 2147483647 #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L #define __LDBL_DIG__ 18 #define __LDBL_EPSILON__ 1.08420217248550443401e-19L #define __LDBL_HAS_DENORM__ 1 #define __LDBL_HAS_INFINITY__ 1 #define __LDBL_HAS_QUIET_NAN__ 1 #define __LDBL_MANT_DIG__ 64 #define __LDBL_MAX_10_EXP__ 4932 #define __LDBL_MAX_EXP__ 16384 #define __LDBL_MAX__ 1.18973149535723176502e+4932L #define __LDBL_MIN_10_EXP__ (-4931) #define __LDBL_MIN_EXP__ (-16381) #define __LDBL_MIN__ 3.36210314311209350626e-4932L #define __LITTLE_ENDIAN__ 1 #define __LONG_LONG_MAX__ 9223372036854775807LL #define __LONG_MAX__ 9223372036854775807L #define __LP64__ 1 #define __MACH__ 1 #define __MMX__ 1 #define __NO_INLINE__ 1 #define __PIC__ 2 #define __PTRDIFF_TYPE__ long int #define __REGISTER_PREFIX__ #define __SCHAR_MAX__ 127 #define __SHRT_MAX__ 32767 #define __SIZE_TYPE__ long unsigned int #define __SSE2_MATH__ 1 #define __SSE2__ 1 #define __SSE3__ 1 #define __SSE_MATH__ 1 #define __SSE__ 1 #define __SSP__ 1 #define __STDC_HOSTED__ 1 #define __STDC__ 1 #define __UINTMAX_TYPE__ long unsigned int #define __USER_LABEL_PREFIX__ _ #define __VERSION__ "4.2.1 (Apple Inc. build 5646) (dot 1)" #define __WCHAR_MAX__ 2147483647 #define __WCHAR_TYPE__ int #define __WINT_TYPE__ int #define __amd64 1 #define __amd64__ 1 #define __block __attribute__((__blocks__(byref))) #define __k8 1 #define __k8__ 1 #define __pic__ 2 #define __strong #define __tune_core2__ 1 #define __weak __attribute__((objc_gc(weak))) #define __x86_64 1 #define __x86_64__ 1
Fixed in 2.042 (I hope).