cosmopolitan/libc/thread
Justine Tunney 464858dbb4
Fix bugs with new memory manager
This fixes a regression in mmap(MAP_FIXED) on Windows caused by a recent
revision. This change also fixes ZipOS so it no longer needs a MAP_FIXED
mapping to open files from the PKZIP store. The memory mapping mutex was
implemented incorrectly earlier which meant that ftrace and strace could
cause cause crashes. This lock and other recursive mutexes are rewritten
so that it should be provable that recursive mutexes in cosmopolitan are
asynchronous signal safe.
2024-06-29 10:53:57 -07:00
..
alarm.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
BUILD.mk Make malloc() go 200x faster 2024-06-05 02:02:14 -07:00
freebsd.internal.h Reduce header complexity 2023-11-28 14:39:42 -08:00
getitimer.c Delete ASAN 2024-06-22 05:45:49 -07:00
getstackbottom.c Rewrite memory manager 2024-06-22 05:45:11 -07:00
itimer.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
itimer.internal.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lock.h Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
makecontext.c Make improvements 2024-02-12 10:23:00 -08:00
mktls.c Delete ASAN 2024-06-22 05:45:49 -07:00
openbsd.internal.h Rewrite memory manager 2024-06-22 05:45:11 -07:00
posixthread.internal.h Do more quality assurance work 2024-06-24 06:53:49 -07:00
pt.internal.h Reduce header complexity 2023-11-28 14:39:42 -08:00
pthread_atfork.c Introduce ctl::set and ctl::map 2024-06-23 22:27:11 -07:00
pthread_attr_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getdetachstate.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getguardsize.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getinheritsched.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getschedparam.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getschedpolicy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getscope.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getsigmask_np.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_attr_getstack.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_getstacksize.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_init.c Make improvements 2024-01-29 16:31:58 -08:00
pthread_attr_setdetachstate.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_setguardsize.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_attr_setinheritsched.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_setschedparam.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_setschedpolicy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_setscope.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_setsigmask_np.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_attr_setstack.c Delete ASAN 2024-06-22 05:45:49 -07:00
pthread_attr_setstacksize.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_barrier_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_barrier_init.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_barrier_wait.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_barrierattr_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_barrierattr_getpshared.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_barrierattr_init.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_barrierattr_setpshared.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_cancel.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_cond_broadcast.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_cond_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_cond_init.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_cond_signal.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_cond_timedwait.c Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
pthread_cond_wait.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_condattr_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_condattr_getpshared.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_condattr_init.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_condattr_setpshared.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_create.c Do more quality assurance work 2024-06-24 06:53:49 -07:00
pthread_detach.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_equal.c Add much of C11 threads.h API 2024-04-28 07:04:08 -07:00
pthread_exit.c Do more quality assurance work 2024-06-24 06:53:49 -07:00
pthread_getaffinity_np.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_getattr_np.c Rewrite memory manager 2024-06-22 05:45:11 -07:00
pthread_getname_np.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_getschedparam.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_getspecific.c Make malloc() go 200x faster 2024-06-05 02:02:14 -07:00
pthread_getthreadid_np.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_getunique_np.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_join.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_key_create.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_key_delete.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_kill.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_once.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_reschedule.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_init.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_rdlock.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_tryrdlock.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_trywrlock.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_unlock.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlock_wrlock.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlockattr_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlockattr_getpshared.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlockattr_init.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_rwlockattr_setpshared.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_self.c Add much of C11 threads.h API 2024-04-28 07:04:08 -07:00
pthread_setaffinity_np.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_setcanceltype.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
pthread_setname_np.c Delete ASAN 2024-06-22 05:45:49 -07:00
pthread_setschedparam.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_setschedparam_freebsd.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_setschedprio.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_sigmask.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_timedjoin_np.c Fix --strace use-after-free in pthread_join() 2024-06-22 06:05:52 -07:00
pthread_tryjoin_np.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_zombify.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
README.md Use *NSYNC for POSIX threads locking APIs 2022-09-11 11:04:50 -07:00
sem_destroy.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sem_getvalue.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sem_init.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sem_open.c Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
sem_post.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sem_timedwait.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sem_trywait.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sem_wait.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
semaphore.h Add dontthrow attribute to most libc functions 2024-01-09 01:26:03 -08:00
setitimer.c Delete ASAN 2024-06-22 05:45:49 -07:00
thrd_create.c Add much of C11 threads.h API 2024-04-28 07:04:08 -07:00
thrd_detach.c Add much of C11 threads.h API 2024-04-28 07:04:08 -07:00
thrd_join.c Add much of C11 threads.h API 2024-04-28 07:04:08 -07:00
thread.h Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
thread2.h Add dontthrow attribute to most libc functions 2024-01-09 01:26:03 -08:00
threads.h Introduce support for trapping math 2024-04-30 13:38:43 -07:00
tls.h Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
tls2.internal.h Walk back most uses of __STRICT_ANSI__ 2024-02-27 04:09:49 -08:00
ualarm.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
xnu.internal.h Reduce header complexity 2023-11-28 14:39:42 -08:00

Cosmpolitan POSIX Threads Library

Cosmopolitan Libc implements threading as it is written in The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) in addition to GNU extensions.