diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-01-22 02:16:53 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-01-22 02:17:19 +0100 |
commit | 4dc191646750a15c7f92f945816b59cd91c5728c (patch) | |
tree | 87f8ff994c10daa1c94af1d321dfd358e35f8b07 | |
parent | c0e4e5a86828cb63d43c56db3a37d4e2c4db7a46 (diff) |
add API pa_ncpus()
-rw-r--r-- | src/daemon/main.c | 2 | ||||
-rw-r--r-- | src/pulsecore/core-util.c | 12 | ||||
-rw-r--r-- | src/pulsecore/core-util.h | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c index 68e64c17..f4836072 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -823,6 +823,8 @@ int main(int argc, char *argv[]) { pa_log_debug(_("Running on host: %s"), s); pa_xfree(s); + pa_log_debug(_("Found %u CPUs."), pa_ncpus()); + pa_log_info(_("Page size is %lu bytes"), (unsigned long) PA_PAGE_SIZE); #ifdef HAVE_VALGRIND_MEMCHECK_H diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index fcb5c421..e65b1796 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -2541,3 +2541,15 @@ void pa_reduce(unsigned *num, unsigned *den) { pa_assert(pa_gcd(*num, *den) == 1); } + +unsigned pa_ncpus(void) { + long ncpus; + +#ifdef _SC_NPROCESSORS_CONF + ncpus = sysconf(_SC_NPROCESSORS_CONF); +#else + ncpus = 1; +#endif + + return ncpus <= 0 ? 1 : (unsigned) ncpus; +} diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h index 44b3af32..18901f47 100644 --- a/src/pulsecore/core-util.h +++ b/src/pulsecore/core-util.h @@ -213,4 +213,6 @@ static inline pa_bool_t pa_in_valgrind(void) { unsigned pa_gcd(unsigned a, unsigned b); void pa_reduce(unsigned *num, unsigned *den); +unsigned pa_ncpus(void); + #endif |