summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/pthread.h6
-rw-r--r--include/signal.h13
-rw-r--r--sys/sys/_pthreadtypes.h3
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;
OpenPOWER on IntegriCloud