From: Martin Mares Date: Tue, 11 Sep 2007 17:00:43 +0000 (+0200) Subject: Fixed a nasty bug in the threaded radix-sorter. X-Git-Tag: holmes-import~506^2~13^2~9 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=3e55c9dac06fdfe2a1a63b51afa10b0a6f8dc31e;p=libucw.git Fixed a nasty bug in the threaded radix-sorter. --- diff --git a/lib/sorter/array.c b/lib/sorter/array.c index 4d64d758..cb8c7aa7 100644 --- a/lib/sorter/array.c +++ b/lib/sorter/array.c @@ -437,11 +437,13 @@ asort_run(struct asort_context *ctx) { ASORT_XTRACE(2, "Decided to use parallel quicksort"); threaded_quicksort(ctx); - return; } + else #endif - ASORT_XTRACE(2, "Decided to use sequential quicksort"); - ctx->quicksort(ctx->array, ctx->num_elts); + { + ASORT_XTRACE(2, "Decided to use sequential quicksort"); + ctx->quicksort(ctx->array, ctx->num_elts); + } } else { @@ -453,9 +455,12 @@ asort_run(struct asort_context *ctx) threaded_radixsort(ctx, swap); return; } + else #endif - ASORT_XTRACE(2, "Decided to use sequential radix-sort (swap=%d)", swap); - asort_radix(ctx, ctx->array, ctx->buffer, ctx->num_elts, ctx->hash_bits, swap); + { + ASORT_XTRACE(2, "Decided to use sequential radix-sort (swap=%d)", swap); + asort_radix(ctx, ctx->array, ctx->buffer, ctx->num_elts, ctx->hash_bits, swap); + } if (swap) ctx->array = ctx->buffer; }