Improve portability of -processorCount and -activeProcessorCount.

Use /var/tmp as temporary directory on Darwin.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27058 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
wlux 2008-11-14 21:59:13 +00:00
parent 35ecf899da
commit 2f8f770a34
3 changed files with 22 additions and 4 deletions

View file

@ -1,3 +1,11 @@
2008-11-14 Wolfgang Lux <wolfgang.lux@gmail.com>
* 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 <rfm@gnu.org> 2008-10-13 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSPage.m: Update to use NSUInteger and to cope with large * Source/NSPage.m: Update to use NSUInteger and to cope with large

View file

@ -1617,6 +1617,12 @@ NSTemporaryDirectory(void)
baseTempDirName = @"/cygdrive/c/"; baseTempDirName = @"/cygdrive/c/";
#elif defined(__MINGW32__) #elif defined(__MINGW32__)
baseTempDirName = @"C:\\"; baseTempDirName = @"C:\\";
#elif defined(__APPLE__)
/*
* Create temporary directory on /var/tmp since /tmp is
* cleaned regularly on Darwin by default
*/
baseTempDirName = @"/var/tmp";
#else #else
baseTempDirName = @"/tmp"; baseTempDirName = @"/tmp";
#endif #endif

View file

@ -1211,8 +1211,8 @@ static void determineOperatingSystem()
#elif defined(_SC_NPROCESSORS_CONF) #elif defined(_SC_NPROCESSORS_CONF)
procCount = sysconf(_SC_NPROCESSORS_CONF); procCount = sysconf(_SC_NPROCESSORS_CONF);
#elif defined(HAVE_SYSCTLBYNAME) #elif defined(HAVE_SYSCTLBYNAME)
long val; int val;
size_t len = val; size_t len = sizeof(val);
if (sysctlbyname("hw.ncpu", &val, &len, 0, 0) == 0) if (sysctlbyname("hw.ncpu", &val, &len, 0, 0) == 0)
{ {
@ -1276,13 +1276,17 @@ static void determineOperatingSystem()
#elif defined(_SC_NPROCESSORS_ONLN) #elif defined(_SC_NPROCESSORS_ONLN)
return sysconf(_SC_NPROCESSORS_ONLN); return sysconf(_SC_NPROCESSORS_ONLN);
#elif defined(HAVE_SYSCTLBYNAME) #elif defined(HAVE_SYSCTLBYNAME)
long val; int val;
size_t len = val; size_t len = sizeof(val);
if (sysctlbyname("kern.smp.cpus", &val, &len, 0, 0) == 0) if (sysctlbyname("kern.smp.cpus", &val, &len, 0, 0) == 0)
{ {
return val; return val;
} }
else if (sysctlbyname("hw.activecpu", &val, &len, 0, 0) == 0)
{
return val;
}
else if (sysctlbyname("activecpu", &val, &len, 0, 0) == 0) else if (sysctlbyname("activecpu", &val, &len, 0, 0) == 0)
{ {
return val; return val;