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)
Thu, Oct 1, 8:32 AM
Unknown Object (File)
Sun, Sep 20, 7:59 PM
Unknown Object (File)
Sep 8 2026, 4:43 PM
Unknown Object (File)
Sep 6 2026, 2:07 AM
Unknown Object (File)
Sep 5 2026, 7:12 PM
Unknown Object (File)
Sep 5 2026, 11:53 AM
Unknown Object (File)
Sep 5 2026, 4:43 AM
Unknown Object (File)
Sep 4 2026, 1:22 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.