diff --git a/ChangeLog b/ChangeLog index 9c3c4b7b7..c3323fa30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-11-14 Wolfgang Lux + + * Source/NSProcessInfo.m (-processorCount, -activeProcessorCount): + Improve portability. + + * Source/NSPathUtilities.m (NSTemporaryDirectory): Use /var/tmp on + Darwin since /tmp is cleaned regularly. + 2008-10-13 Richard Frith-Macdonald * Source/NSPage.m: Update to use NSUInteger and to cope with large diff --git a/Source/NSPathUtilities.m b/Source/NSPathUtilities.m index 62822d461..75a61a4a0 100644 --- a/Source/NSPathUtilities.m +++ b/Source/NSPathUtilities.m @@ -1617,6 +1617,12 @@ NSTemporaryDirectory(void) baseTempDirName = @"/cygdrive/c/"; #elif defined(__MINGW32__) baseTempDirName = @"C:\\"; +#elif defined(__APPLE__) + /* + * Create temporary directory on /var/tmp since /tmp is + * cleaned regularly on Darwin by default + */ + baseTempDirName = @"/var/tmp"; #else baseTempDirName = @"/tmp"; #endif diff --git a/Source/NSProcessInfo.m b/Source/NSProcessInfo.m index 71ceba93f..92d496990 100644 --- a/Source/NSProcessInfo.m +++ b/Source/NSProcessInfo.m @@ -1211,8 +1211,8 @@ static void determineOperatingSystem() #elif defined(_SC_NPROCESSORS_CONF) procCount = sysconf(_SC_NPROCESSORS_CONF); #elif defined(HAVE_SYSCTLBYNAME) - long val; - size_t len = val; + int val; + size_t len = sizeof(val); if (sysctlbyname("hw.ncpu", &val, &len, 0, 0) == 0) { @@ -1276,13 +1276,17 @@ static void determineOperatingSystem() #elif defined(_SC_NPROCESSORS_ONLN) return sysconf(_SC_NPROCESSORS_ONLN); #elif defined(HAVE_SYSCTLBYNAME) - long val; - size_t len = val; + int val; + size_t len = sizeof(val); if (sysctlbyname("kern.smp.cpus", &val, &len, 0, 0) == 0) { return val; } + else if (sysctlbyname("hw.activecpu", &val, &len, 0, 0) == 0) + { + return val; + } else if (sysctlbyname("activecpu", &val, &len, 0, 0) == 0) { return val;