diff options
-rw-r--r-- | include/pthread.h | 6 | ||||
-rw-r--r-- | include/signal.h | 13 | ||||
-rw-r--r-- | sys/sys/_pthreadtypes.h | 3 |
3 files changed, 19 insertions, 3 deletions
diff --git a/include/pthread.h b/include/pthread.h index fad12b1..9edd48b 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -205,7 +205,6 @@ int pthread_join(pthread_t, void **); int pthread_key_create(pthread_key_t *, void (*) (void *)); int pthread_key_delete(pthread_key_t); -int pthread_kill(pthread_t, int); int pthread_mutexattr_init(pthread_mutexattr_t *); int pthread_mutexattr_destroy(pthread_mutexattr_t *); int pthread_mutexattr_getpshared(const pthread_mutexattr_t *, @@ -241,7 +240,6 @@ int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); pthread_t pthread_self(void); int pthread_setspecific(pthread_key_t, const void *); -int pthread_sigmask(int, const __sigset_t *, __sigset_t *); int pthread_spin_init(pthread_spinlock_t *, int); int pthread_spin_destroy(pthread_spinlock_t *); @@ -253,9 +251,11 @@ int pthread_setcancelstate(int, int *); int pthread_setcanceltype(int, int *); void pthread_testcancel(void); +#if __BSD_VISIBLE int pthread_getprio(pthread_t); int pthread_setprio(pthread_t, int); void pthread_yield(void); +#endif int pthread_mutexattr_getprioceiling(pthread_mutexattr_t *, int *); @@ -281,8 +281,10 @@ int pthread_getschedparam(pthread_t pthread, int *, struct sched_param *); int pthread_setschedparam(pthread_t, int, const struct sched_param *); +#if __XSI_VISIBLE int pthread_getconcurrency(void); int pthread_setconcurrency(int); +#endif void __pthread_cleanup_push_imp(void (*)(void *), void *, struct _pthread_cleanup_info *); diff --git a/include/signal.h b/include/signal.h index 8d7c281..fdb4b3e 100644 --- a/include/signal.h +++ b/include/signal.h @@ -58,11 +58,22 @@ typedef __pid_t pid_t; #endif #endif +#if __POSIX_VISIBLE || __XSI_VISIBLE +struct pthread; /* XXX */ +typedef struct pthread *__pthread_t; +#if !defined(_PTHREAD_T_DECLARED) && __POSIX_VISIBLE >= 200809 +typedef __pthread_t pthread_t; +#define _PTHREAD_T_DECLARED +#endif +#endif /* __POSIX_VISIBLE || __XSI_VISIBLE */ + __BEGIN_DECLS int raise(int); #if __POSIX_VISIBLE || __XSI_VISIBLE int kill(__pid_t, int); +int pthread_kill(__pthread_t, int); +int pthread_sigmask(int, const __sigset_t *, __sigset_t *); int sigaction(int, const struct sigaction * __restrict, struct sigaction * __restrict); int sigaddset(sigset_t *, int); @@ -91,7 +102,7 @@ int sigaltstack(const stack_t * __restrict, stack_t * __restrict); int sigpause(int); #endif -#if __POSIX_VISIBLE >= 200112 +#if __XSI_VISIBLE >= 600 int siginterrupt(int, int); #endif diff --git a/sys/sys/_pthreadtypes.h b/sys/sys/_pthreadtypes.h index 6337540..76049ee 100644 --- a/sys/sys/_pthreadtypes.h +++ b/sys/sys/_pthreadtypes.h @@ -61,7 +61,10 @@ struct pthread_spinlock; * or assignment operators for the types pthread_attr_t, pthread_cond_t, * pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t. */ +#ifndef _PTHREAD_T_DECLARED typedef struct pthread *pthread_t; +#define _PTHREAD_T_DECLARED +#endif typedef struct pthread_attr *pthread_attr_t; typedef struct pthread_mutex *pthread_mutex_t; typedef struct pthread_mutex_attr *pthread_mutexattr_t; |