pthreads: Reimplement pthread types using non polluting types.
authorzrj <rimvydas.jasinskas@gmail.com>
Tue, 8 Dec 2020 11:11:06 +0000 (11:11 +0000)
committerzrj <rimvydas.jasinskas@gmail.com>
Sat, 12 Dec 2020 13:33:35 +0000 (15:33 +0200)
commitcf8046a92768d53e67d2533fb51b137d5506248d
treeace58f0704764af3ce08580e70fc9653a88c6470
parent940be950819fa932cd401a01f1182bf686a2e61e
pthreads: Reimplement pthread types using non polluting types.

 Use __ implementation specific namespace and adjust libthread_xu.
 * The pthread_addr_t type was specific only to libc_r, remove it.
 * The pthread_startroutine_t typedef was never used since initial fork.
 * The mutex member in struct pthread_once was for libc_r only, rename
   it to __sparelibc_r void pointer to keep ABI compatibility.
 * Mangle struct names using __type_s scheme to avoid collisions with
   user defined types in 3rd-party software packages.
 * Adjust partly publicly visible struct pthread_once members too.
21 files changed:
lib/libc/gen/_once_stub.c
lib/libc/gen/_pthread_stubs.c
lib/libc/gen/gen_private.h
lib/libthread_xu/arch/x86_64/include/pthread_md.h
lib/libthread_xu/thread/thr_attr.c
lib/libthread_xu/thread/thr_barrier.c
lib/libthread_xu/thread/thr_barrierattr.c
lib/libthread_xu/thread/thr_cond.c
lib/libthread_xu/thread/thr_condattr.c
lib/libthread_xu/thread/thr_ctrdtr.c
lib/libthread_xu/thread/thr_init.c
lib/libthread_xu/thread/thr_list.c
lib/libthread_xu/thread/thr_mutex.c
lib/libthread_xu/thread/thr_mutexattr.c
lib/libthread_xu/thread/thr_once.c
lib/libthread_xu/thread/thr_private.h
lib/libthread_xu/thread/thr_pspinlock.c
lib/libthread_xu/thread/thr_rwlock.c
lib/libthread_xu/thread/thr_rwlockattr.c
lib/libthread_xu/thread/thr_symbols.c
sys/sys/_pthreadtypes.h