[vlc-devel] [PATCH] thread: Simplify vlc_GetCPUCount / add FreeBSD/NetBSD support

Rafaël Carré funman at videolan.org
Sun Jan 29 01:07:02 CET 2012


Le 2012-01-28 17:05, Brad a écrit :
> Looking at the current vlc_GetCPUCount() function this can be simplified. The
> sysconf(3) variable is available for OS X and OpenBSD. The change as is also
> adds FreeBSD and NetBSD support to vlc_GetCPUCount().
> 
> 
> diff --git a/src/posix/thread.c b/src/posix/thread.c
> index 001240b..a7a4873 100644
> --- a/src/posix/thread.c
> +++ b/src/posix/thread.c
> @@ -53,13 +53,6 @@
>  
>  #ifdef __APPLE__
>  # include <mach/mach_init.h> /* mach_task_self in semaphores */
> -# include <sys/sysctl.h>
> -#endif
> -
> -#if defined(__OpenBSD__)
> -# include <sys/param.h>
> -# include <sys/sysctl.h>
> -# include <machine/cpu.h>
>  #endif
>  
>  #if defined(__SunOS)
> @@ -1167,23 +1160,6 @@ unsigned vlc_GetCPUCount(void)
>  
>      return CPU_COUNT (&cpu);
>  
> -#elif defined(__APPLE__)
> -    int count;
> -    size_t size = sizeof(count) ;
> -
> -    if (sysctlbyname ("hw.ncpu", &count, &size, NULL, 0))
> -        return 1; /* Failure */
> -    return count;
> -
> -#elif defined(__OpenBSD__)
> -    int selectors[2] = { CTL_HW, HW_NCPU };
> -    int count;
> -    size_t size = sizeof(count);
> -
> -    if (sysctl (selectors, 2, &count, &size, NULL, 0))
> -        return 1; /* Failure */
> -    return count;
> -
>  #elif defined(__SunOS)
>      unsigned count = 0;
>      int type;
> @@ -1204,7 +1180,7 @@ unsigned vlc_GetCPUCount(void)
>          count = sysconf (_SC_NPROCESSORS_ONLN);
>      free (cpulist);
>      return count ? count : 1;
> -#elif defined(__ANDROID__)
> +#elif defined(_SC_NPROCESSORS_CONF)
>      return sysconf(_SC_NPROCESSORS_CONF);
>  #else
>  #   warning "vlc_GetCPUCount is not implemented for your platform"
> 

doesn't apply



More information about the vlc-devel mailing list