mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-01 15:30:29 +00:00
Use *NSYNC for POSIX threads locking APIs
Condition variables, barriers, and r/w locks now work very well.
This commit is contained in:
parent
3de35e196c
commit
b5cb71ab84
197 changed files with 3734 additions and 3817 deletions
21
third_party/nsync/README.md
vendored
Normal file
21
third_party/nsync/README.md
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
# *NSYNC
|
||||
|
||||
The `THIRD_PARTY_NSYNC` and `LIBC_THREAD` packages include source code
|
||||
from *NSYNC. Here's the latest upstream synchronization point:
|
||||
|
||||
git@github.com:google/nsync
|
||||
ac5489682760393fe21bd2a8e038b528442412a7 (1.25.0)
|
||||
Author: Mike Burrows <m3b@google.com>
|
||||
Date: Wed Jun 1 16:47:52 2022 -0700
|
||||
|
||||
NSYNC uses the Apache 2.0 license. We made the following local changes:
|
||||
|
||||
- Write custom `nsync_malloc_()` so `malloc()` can use *NSYNC.
|
||||
|
||||
- Rewrite `futex()` wrapper to support old Linux kernels and OpenBSD.
|
||||
|
||||
- Normalize sources to Cosmopolitan style conventions; *NSYNC upstream
|
||||
supports dozens of compilers and operating systems, at compile-time.
|
||||
Since Cosmo solves portability at runtime instead, most of the build
|
||||
config toil has been removed, in order to help the NSYNC source code
|
||||
be more readable and hackable.
|
Loading…
Add table
Add a link
Reference in a new issue