summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/sort/radixsort.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/usr.bin/sort/radixsort.c b/usr.bin/sort/radixsort.c
index 62b9460..b3a31a0 100644
--- a/usr.bin/sort/radixsort.c
+++ b/usr.bin/sort/radixsort.c
@@ -127,6 +127,14 @@ have_sort_left(void)
#endif /* SORT_THREADS */
+static void
+_push_ls(struct level_stack *ls)
+{
+
+ ls->next = g_ls;
+ g_ls = ls;
+}
+
/*
* Push sort level to the stack
*/
@@ -139,22 +147,14 @@ push_ls(struct sort_level *sl)
new_ls->sl = sl;
#if defined(SORT_THREADS)
- if (nthreads > 1)
+ if (nthreads > 1) {
pthread_mutex_lock(&g_ls_mutex);
-#endif
-
- new_ls->next = g_ls;
- g_ls = new_ls;
-
-#if defined(SORT_THREADS)
- if (nthreads > 1)
+ _push_ls(new_ls);
pthread_cond_signal(&g_ls_cond);
-#endif
-
-#if defined(SORT_THREADS)
- if (nthreads > 1)
pthread_mutex_unlock(&g_ls_mutex);
+ } else
#endif
+ _push_ls(new_ls);
}
/*
OpenPOWER on IntegriCloud