In the commit message, 's/UINT_MAX_1/UINT_MAX-1',

Looks good to me,



On Fri, Dec 13, 2013 at 2:31 PM, Ben Pfaff <b...@nicira.com> wrote:

> ofproto_set_threads() uses the calculation MAX(count_cpu_cores() - 2, 1)
> to decide on the default thread count.  However, count_cpu_cores() returns
> 0 if it can't count the number of cores, or 1 if there's only one core,
> and that causes the calculation to come out as UINT_MAX-2 or UINT_MAX_1,
> respectively, which causes a memory allocation failure later.
>
> There are other ways to fix this problem, too, of course.
>
> Signed-off-by: Ben Pfaff <b...@nicira.com>
> ---
>  lib/ovs-thread.c |    2 +-
>  lib/ovs-thread.h |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/ovs-thread.c b/lib/ovs-thread.c
> index dcaf7ff..aa3ad15 100644
> --- a/lib/ovs-thread.c
> +++ b/lib/ovs-thread.c
> @@ -371,7 +371,7 @@ parse_cpuinfo(long int *n_cores)
>   * Tries not to count hyper-threads, but may be inaccurate - particularly
> on
>   * platforms that do not provide /proc/cpuinfo, but also if /proc/cpuinfo
> is
>   * formatted different to the layout that parse_cpuinfo() expects. */
> -unsigned int
> +int
>  count_cpu_cores(void)
>  {
>      static struct ovsthread_once once = OVSTHREAD_ONCE_INITIALIZER;
> diff --git a/lib/ovs-thread.h b/lib/ovs-thread.h
> index 1f2de72..b6d973f 100644
> --- a/lib/ovs-thread.h
> +++ b/lib/ovs-thread.h
> @@ -505,6 +505,6 @@ bool may_fork(void);
>
>  /* Useful functions related to threading. */
>
> -unsigned int count_cpu_cores(void);
> +int count_cpu_cores(void);
>
>  #endif /* ovs-thread.h */
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to