X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fpthread.h;h=12442085abe8725c4673b7a70d6ff324d1adf61f;hb=7d57e05fa8d15dc838638f7db19e88b02a21c18b;hp=e820ae55f8d05f89b464200097025fad25b2c23e;hpb=56b784d603827a564a40b19228078a361959cd14;p=musl diff --git a/include/pthread.h b/include/pthread.h index e820ae55..12442085 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -8,6 +8,18 @@ extern "C" { #define __NEED_struct_timespec #define __NEED_sigset_t #define __NEED_pthread_t +#define __NEED_pthread_attr_t +#define __NEED_pthread_mutexattr_t +#define __NEED_pthread_condattr_t +#define __NEED_pthread_rwlockattr_t +#define __NEED_pthread_barrierattr_t +#define __NEED_pthread_mutex_t +#define __NEED_pthread_cond_t +#define __NEED_pthread_rwlock_t +#define __NEED_pthread_barrier_t +#define __NEED_pthread_spinlock_t +#define __NEED_pthread_key_t +#define __NEED_pthread_once_t #define __NEED_size_t #include @@ -15,51 +27,6 @@ extern "C" { #include #include -typedef int pthread_once_t, pthread_key_t, pthread_spinlock_t; -typedef int pthread_mutexattr_t, pthread_condattr_t, pthread_barrierattr_t; - -typedef struct { - size_t __guardsize; - size_t __stacksize; - unsigned __detach : 1; - unsigned __pad : 31; - int __attr[6]; -} pthread_attr_t; - -typedef struct { - int __attr[2]; -} pthread_rwlockattr_t; - -typedef struct { - int __type; - int __lock; - pthread_t __owner; - int __pad2; - int __waiters; - int __pad; -} pthread_mutex_t; - -typedef struct { - int __block; - int __pad[11]; -} pthread_cond_t; - -typedef struct { - int __wrlock; - int __readers; - int __waiters; - int __owner; - int __pad[4]; -} pthread_rwlock_t; - -typedef struct { - int __count; - int __limit; - int __left; - int __waiters; - int __barrier[1]; -} pthread_barrier_t; - #define PTHREAD_CREATE_JOINABLE 0 #define PTHREAD_CREATE_DETACHED 1 @@ -190,11 +157,25 @@ int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); int pthread_mutexattr_setrobust(pthread_mutexattr_t *, int); int pthread_mutexattr_settype(pthread_mutexattr_t *, int); +int pthread_condattr_init(pthread_condattr_t *); +int pthread_condattr_destroy(pthread_condattr_t *); +int pthread_condattr_setclock(pthread_condattr_t *, clockid_t); +int pthread_condattr_setpshared(pthread_condattr_t *, int); +int pthread_condattr_getclock(const pthread_condattr_t *, clockid_t *); +int pthread_condattr_getpshared(const pthread_condattr_t *, int *); + +int pthread_rwlockattr_init(pthread_rwlockattr_t *); +int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); +int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); +int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, int *); + int pthread_barrierattr_destroy(pthread_barrierattr_t *); int pthread_barrierattr_getpshared(const pthread_barrierattr_t *, int *); int pthread_barrierattr_init(pthread_barrierattr_t *); int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); +int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)); + #include int __setjmp(void *);