cosmopolitan/libc/thread
Justine Tunney a359de7893
Get rid of kmalloc()
This changes *NSYNC to allocate waiters on the stack so our locks don't
need to depend on dynamic memory. This make our runtiem simpler, and it
also fixes bugs with thread cancellation support.
2023-09-11 21:56:00 -07:00
..
freebsd.internal.h Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
makecontext.c Fix warnings 2023-09-01 20:50:18 -07:00
mktls.c Fix warnings 2023-09-01 20:50:18 -07:00
openbsd.internal.h Make fixes and improvements 2022-06-25 21:09:09 -07:00
posixthread.internal.h Improve AARCH64 execution 2023-09-11 14:46:46 -07:00
pthread_atfork.c Get rid of kmalloc() 2023-09-11 21:56:00 -07:00
pthread_attr_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_getdetachstate.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_getguardsize.c Make more improvements to threading support 2022-10-09 00:08:47 -07:00
pthread_attr_getinheritsched.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_getschedparam.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_getschedpolicy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_getscope.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_getsigmask_np.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_attr_getstack.c Make more improvements to threading support 2022-10-09 00:08:47 -07:00
pthread_attr_getstacksize.c Make more improvements to threading support 2022-10-09 00:08:47 -07:00
pthread_attr_init.c Fix small matters and improve sysconf() 2023-08-17 00:32:11 -07:00
pthread_attr_setdetachstate.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_setguardsize.c Make more improvements to threading support 2022-10-09 00:08:47 -07:00
pthread_attr_setinheritsched.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
pthread_attr_setschedparam.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_attr_setschedpolicy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_setscope.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_attr_setsigmask_np.c Fix some more issues with aarch64 and llama.cpp 2023-05-10 07:34:26 -07:00
pthread_attr_setstack.c Hunt down more bugs 2023-07-03 18:43:29 -07:00
pthread_attr_setstacksize.c Make more improvements to threading support 2022-10-09 00:08:47 -07:00
pthread_barrier_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_barrier_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_barrier_wait.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pthread_barrierattr_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_barrierattr_getpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_barrierattr_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_barrierattr_setpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_cancel.c Implement thread cancellation for aarch64 2023-09-07 08:48:38 -07:00
pthread_cond_broadcast.c Clean up some code 2022-12-11 14:30:59 -08:00
pthread_cond_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_cond_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_cond_signal.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pthread_cond_timedwait.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
pthread_cond_wait.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_condattr_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_condattr_getpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_condattr_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_condattr_setpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_create.c Improve AARCH64 execution 2023-09-11 14:46:46 -07:00
pthread_decimate_np.c Implement thread cancellation for aarch64 2023-09-07 08:48:38 -07:00
pthread_detach.c Clean up more code 2023-07-06 08:03:24 -07:00
pthread_equal.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
pthread_exit.c Emulate ENOTDIR better 2023-08-16 20:11:23 -07:00
pthread_getaffinity_np.c Make improvements 2023-07-10 04:35:14 -07:00
pthread_getattr_np.c Fix bugs in cosmocc toolchain 2023-06-08 23:44:03 -07:00
pthread_getname_np.c Replace COSMO define with _COSMO_SOURCE 2023-08-13 20:55:04 -07:00
pthread_getschedparam.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_getthreadid_np.c Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
pthread_getunique_np.c Make fixes and improvements 2022-11-08 10:11:46 -08:00
pthread_join.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_kill.c Make fixes and improvements 2022-11-08 10:11:46 -08:00
pthread_once.c Make more fixes and improvements 2023-07-29 18:44:15 -07:00
pthread_orphan_np.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_reschedule.c Make fixes and improvements 2022-11-08 10:11:46 -08:00
pthread_rwlock_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_rwlock_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_rwlock_rdlock.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pthread_rwlock_unlock.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pthread_rwlock_wrlock.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pthread_rwlockattr_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_rwlockattr_getpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_rwlockattr_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_rwlockattr_setpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_self.c Mint APE Loader v1.5 2023-07-26 13:54:49 -07:00
pthread_setaffinity_np.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_setcanceltype.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
pthread_setname_np.c Hunt down more bugs 2023-07-03 18:43:29 -07:00
pthread_setschedparam.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_setschedparam_freebsd.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
pthread_setschedprio.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_sigmask.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_timedjoin_np.c Mint APE Loader v1.5 2023-07-26 13:54:49 -07:00
pthread_tryjoin_np.c Make improvements 2022-11-10 21:52:47 -08:00
pthread_ungarbage.c Fix warnings 2023-09-01 20:50:18 -07:00
pthread_zombify.c Clean up more code 2023-07-06 08:03:24 -07:00
README.md Use *NSYNC for POSIX threads locking APIs 2022-09-11 11:04:50 -07:00
sem_destroy.c Mint APE Loader v1.5 2023-07-26 13:54:49 -07:00
sem_getvalue.c Make POSIX semaphores always process shared 2023-02-23 08:07:54 -08:00
sem_init.c Make improvements 2022-11-07 02:26:06 -08:00
sem_open.c Fix warnings 2023-09-01 20:50:18 -07:00
sem_path_np.c Make some system call fixes 2023-02-12 22:16:34 -08:00
sem_post.c Mint APE Loader v1.5 2023-07-26 13:54:49 -07:00
sem_timedwait.c Fix warnings 2023-09-01 20:50:18 -07:00
sem_trywait.c Mint APE Loader v1.5 2023-07-26 13:54:49 -07:00
sem_wait.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
semaphore.h Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
spawn.c Mint APE Loader v1.5 2023-07-26 13:54:49 -07:00
spawn.h Remove _Hide keyword 2023-07-24 08:34:58 -07:00
thread.h Overhaul process spawning 2023-09-10 08:17:44 -07:00
thread.mk Implement thread cancellation for aarch64 2023-09-07 08:48:38 -07:00
thread2.h Make improvements 2022-11-10 21:52:47 -08:00
tls.h Get rid of kmalloc() 2023-09-11 21:56:00 -07:00
tls2.internal.h Fix warnings 2023-09-01 20:50:18 -07:00
wait0.c Fix warnings 2023-09-01 20:50:18 -07:00
wait0.internal.h Fix warnings 2023-09-01 20:50:18 -07:00
xnu.internal.h Make fixes and improvements 2022-11-08 10:11:46 -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.