cosmopolitan/libc/thread
Justine Tunney 99dc1281f5
Overhaul Windows signal handling
The new asynchronous signal delivery technique is now also being used
for tkill(), raise(), etc. Many subtle issues have been addresesd. We
now signal handling on Windows that's remarkably similar to the POSIX
behaviors. However that's just across threads. We're lacking a way to
have the signal semantics work well, across multiple WIN32 processes.
2023-09-08 01:49:41 -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 Overhaul Windows signal handling 2023-09-08 01:49:41 -07:00
pthread_atfork.c Fix warnings 2023-09-01 20:50:18 -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 Implement thread cancellation for aarch64 2023-09-07 08:48:38 -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_mutexattr_destroy.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_mutexattr_getpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_mutexattr_gettype.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_mutexattr_init.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_mutexattr_setpshared.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
pthread_mutexattr_settype.c Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07: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 Fix warnings 2023-09-01 20:50:18 -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 Implement thread cancellation for aarch64 2023-09-07 08:48:38 -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.