Use *NSYNC for POSIX threads locking APIs

Condition variables, barriers, and r/w locks now work very well.
This commit is contained in:
Justine Tunney 2022-09-11 11:02:07 -07:00
parent 3de35e196c
commit b5cb71ab84
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
197 changed files with 3734 additions and 3817 deletions

View file

@ -16,8 +16,9 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
*/
#include "libc/atomic.h"
#include "libc/testlib/testlib.h"
char g_fixturename[256];
_Atomic(unsigned) g_testlib_ran;
_Atomic(unsigned) g_testlib_failed;
atomic_uint g_testlib_ran;
atomic_uint g_testlib_failed;

View file

@ -182,13 +182,13 @@ noasan int main(int argc, char *argv[]) {
testlib_runalltests();
if (!g_testlib_failed && runbenchmarks_ && weaken(testlib_runallbenchmarks)) {
weaken(testlib_runallbenchmarks)();
if (!g_testlib_failed) {
if (IsAsan() && !g_testlib_failed) {
CheckForMemoryLeaks();
}
if (!g_testlib_failed && IsRunningUnderMake()) {
return 254; // compile.com considers this 0 and propagates output
}
} else if (!g_testlib_failed) {
} else if (IsAsan() && !g_testlib_failed) {
CheckForMemoryLeaks();
}