summaryrefslogtreecommitdiff
path: root/lib/libthr/thread/thr_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libthr/thread/thr_private.h')
-rw-r--r--lib/libthr/thread/thr_private.h41
1 files changed, 29 insertions, 12 deletions
diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h
index 56ecdb441310..4c9245e7b050 100644
--- a/lib/libthr/thread/thr_private.h
+++ b/lib/libthr/thread/thr_private.h
@@ -69,6 +69,9 @@ __NULLABILITY_PRAGMA_PUSH
WEAK_REF(func, SYM_FBP10(sym)); \
SYM_DEFAULT(sym, SYM_FBP10(sym), FBSDprivate_1.0)
+struct pthread;
+extern struct pthread *_thr_initial __hidden;
+
#include "pthread_md.h"
#include "thr_umtx.h"
#include "thread_db.h"
@@ -701,14 +704,16 @@ do { \
(curthr->report_events && \
(((curthr)->event_mask | _thread_event_mask ) & e) != 0)
+#ifndef __LIBC_ISTHREADED_DECLARED
+#define __LIBC_ISTHREADED_DECLARED
extern int __isthreaded;
+#endif
/*
* Global variables for the pthread kernel.
*/
extern char *_usrstack __hidden;
-extern struct pthread *_thr_initial __hidden;
/* For debugger */
extern int _libthr_debug;
@@ -835,8 +840,10 @@ int _sched_yield(void);
void _pthread_cleanup_push(void (*)(void *), void *);
void _pthread_cleanup_pop(int);
void _pthread_exit_mask(void *status, sigset_t *mask) __dead2 __hidden;
+#ifndef _LIBC_PRIVATE_H_
void _pthread_cancel_enter(int maycancel);
void _pthread_cancel_leave(int maycancel);
+#endif
int _pthread_mutex_consistent(pthread_mutex_t * _Nonnull);
int _pthread_mutexattr_getrobust(pthread_mutexattr_t * _Nonnull __restrict,
int * _Nonnull __restrict);
@@ -844,46 +851,56 @@ int _pthread_mutexattr_setrobust(pthread_mutexattr_t * _Nonnull, int);
/* #include <fcntl.h> */
#ifdef _SYS_FCNTL_H_
+#ifndef _LIBC_PRIVATE_H_
int __sys_fcntl(int, int, ...);
int __sys_openat(int, const char *, int, ...);
-#endif
+#endif /* _LIBC_PRIVATE_H_ */
+#endif /* _SYS_FCNTL_H_ */
/* #include <signal.h> */
#ifdef _SIGNAL_H_
int __sys_kill(pid_t, int);
-int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
+int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
int __sys_sigpending(sigset_t *);
+int __sys_sigreturn(const ucontext_t *);
+#ifndef _LIBC_PRIVATE_H_
+int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
int __sys_sigprocmask(int, const sigset_t *, sigset_t *);
int __sys_sigsuspend(const sigset_t *);
-int __sys_sigreturn(const ucontext_t *);
-int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
-int __sys_sigwait(const sigset_t *, int *);
int __sys_sigtimedwait(const sigset_t *, siginfo_t *,
const struct timespec *);
+int __sys_sigwait(const sigset_t *, int *);
int __sys_sigwaitinfo(const sigset_t *set, siginfo_t *info);
-#endif
+#endif /* _LIBC_PRIVATE_H_ */
+#endif /* _SYS_FCNTL_H_ */
/* #include <time.h> */
#ifdef _TIME_H_
+#ifndef _LIBC_PRIVATE_H_
int __sys_clock_nanosleep(clockid_t, int, const struct timespec *,
struct timespec *);
int __sys_nanosleep(const struct timespec *, struct timespec *);
-#endif
+#endif /* _LIBC_PRIVATE_H_ */
+#endif /* _SYS_FCNTL_H_ */
/* #include <sys/ucontext.h> */
#ifdef _SYS_UCONTEXT_H_
+#ifndef _LIBC_PRIVATE_H_
int __sys_setcontext(const ucontext_t *ucp);
int __sys_swapcontext(ucontext_t *oucp, const ucontext_t *ucp);
-#endif
+#endif /* _LIBC_PRIVATE_H_ */
+#endif /* _SYS_FCNTL_H_ */
/* #include <unistd.h> */
#ifdef _UNISTD_H_
+void __sys_exit(int);
+pid_t __sys_getpid(void);
+#ifndef _LIBC_PRIVATE_H_
int __sys_close(int);
int __sys_fork(void);
-pid_t __sys_getpid(void);
ssize_t __sys_read(int, void *, size_t);
-void __sys_exit(int);
-#endif
+#endif /* _LIBC_PRIVATE_H_ */
+#endif /* _SYS_FCNTL_H_ */
static inline int
_thr_isthreaded(void)