Page MenuHomeFreeBSD

Fix building 'usr.bin/sort' with threads support
Needs ReviewPublic

Authored by zakharov.vv_gmail.com on Dec 2 2016, 12:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jul 3, 8:19 AM
Unknown Object (File)
Fri, Jul 3, 7:39 AM
Unknown Object (File)
Wed, Jul 1, 9:01 AM
Unknown Object (File)
May 27 2026, 2:25 PM
Unknown Object (File)
May 18 2026, 12:47 AM
Unknown Object (File)
Apr 9 2026, 11:11 PM
Unknown Object (File)
Apr 4 2026, 12:40 AM
Unknown Object (File)
Mar 8 2026, 12:25 AM
Subscribers
None

Details

Reviewers
delphij
Summary

When WITH_SORT_THREADS is set, usr.bin/sort build fails with this errors:

/usr/src/usr.bin/sort/radixsort.c:144:17: error: mutex 'g_ls_mutex' is not held on every path through here [-Werror,-Wthread-safety-analysis]
        new_ls->next = g_ls;
                       ^
/usr/src/usr.bin/sort/radixsort.c:141:3: note: mutex acquired here
                pthread_mutex_lock(&g_ls_mutex);
                ^
/usr/src/usr.bin/sort/radixsort.c:149:3: error: releasing mutex 'g_ls_mutex' that was not held [-Werror,-Wthread-safety-analysis]
                pthread_mutex_unlock(&g_ls_mutex);
                ^
2 errors generated.
*** Error code 1

It seems to be ThreadSafetyAnasysis false positive (http://clang.llvm.org/docs/ThreadSafetyAnalysis.html#conditional-locks).

Patch fixes build by setting NO_WERROR when WITH_SORT_THREADS is set.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

zakharov.vv_gmail.com retitled this revision from to Fix building 'usr.bin/sort' with threads support.
zakharov.vv_gmail.com updated this object.
zakharov.vv_gmail.com edited the test plan for this revision. (Show Details)
zakharov.vv_gmail.com added a reviewer: delphij.