projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
overhaul pthread cancellation
[musl]
/
include
/
signal.h
diff --git
a/include/signal.h
b/include/signal.h
index
540236a
..
2e621ac
100644
(file)
--- a/
include/signal.h
+++ b/
include/signal.h
@@
-5,11
+5,19
@@
extern "C" {
#endif
extern "C" {
#endif
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+
+#ifdef _GNU_SOURCE
+#define __siginfo siginfo
+#endif
+
#define __NEED_size_t
#define __NEED_pid_t
#define __NEED_uid_t
#define __NEED_struct_timespec
#define __NEED_pthread_t
#define __NEED_size_t
#define __NEED_pid_t
#define __NEED_uid_t
#define __NEED_struct_timespec
#define __NEED_pthread_t
+#define __NEED_pthread_attr_t
#define __NEED_time_t
#define __NEED_clock_t
#define __NEED_sigset_t
#define __NEED_time_t
#define __NEED_clock_t
#define __NEED_sigset_t
@@
-17,10
+25,7
@@
extern "C" {
#include <bits/alltypes.h>
#include <bits/alltypes.h>
-typedef int sig_atomic_t;
-
-struct sigaction
-{
+struct sigaction {
union {
void (*sa_handler)(int);
void (*sa_sigaction)(int, siginfo_t *, void *);
union {
void (*sa_handler)(int);
void (*sa_sigaction)(int, siginfo_t *, void *);
@@
-32,20
+37,28
@@
struct sigaction
#define sa_handler __sa_handler.sa_handler
#define sa_sigaction __sa_handler.sa_sigaction
#define sa_handler __sa_handler.sa_handler
#define sa_sigaction __sa_handler.sa_sigaction
-typedef struct
-{
+typedef struct {
void *ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
void *ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
-union sigval
-{
+union sigval {
int sival_int;
void *sival_ptr;
};
int sival_int;
void *sival_ptr;
};
-#include <bits/signal.h>
+struct sigevent {
+ union sigval sigev_value;
+ int sigev_signo;
+ int sigev_notify;
+ void (*sigev_notify_function)(union sigval);
+ pthread_attr_t *sigev_notify_attributes;
+};
+
+#define SIGEV_SIGNAL 0
+#define SIGEV_NONE 1
+#define SIGEV_THREAD 2
int __libc_current_sigrtmin(void);
int __libc_current_sigrtmax(void);
int __libc_current_sigrtmin(void);
int __libc_current_sigrtmax(void);
@@
-53,12
+66,7
@@
int __libc_current_sigrtmax(void);
#define SIGRTMIN (__libc_current_sigrtmin())
#define SIGRTMAX (__libc_current_sigrtmax())
#define SIGRTMIN (__libc_current_sigrtmin())
#define SIGRTMAX (__libc_current_sigrtmax())
-void (*signal(int, void (*)(int)))(int);
-void (*bsd_signal(int, void (*)(int)))(int);
int kill(pid_t, int);
int kill(pid_t, int);
-int killpg(pid_t, int);
-int raise(int);
-int sigpause(int);
int sigemptyset(sigset_t *);
int sigfillset(sigset_t *);
int sigemptyset(sigset_t *);
int sigfillset(sigset_t *);
@@
-75,22
+83,34
@@
int sigwaitinfo(const sigset_t *, siginfo_t *);
int sigtimedwait(const sigset_t *, siginfo_t *, const struct timespec *);
int sigqueue(pid_t, int, const union sigval);
int sigtimedwait(const sigset_t *, siginfo_t *, const struct timespec *);
int sigqueue(pid_t, int, const union sigval);
-int siginterrupt(int, int);
+int pthread_sigmask(int, const sigset_t *, sigset_t *);
+int pthread_kill(pthread_t, int);
-int sigaltstack(const stack_t *, stack_t *);
+#endif
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+int killpg(pid_t, int);
+int sigaltstack(const stack_t *, stack_t *);
int sighold(int);
int sighold(int);
-int sigrelse(int);
int sigignore(int);
int sigignore(int);
+int siginterrupt(int, int);
+int sigpause(int);
+int sigrelse(int);
void (*sigset(int, void (*)(int)))(int);
void (*sigset(int, void (*)(int)))(int);
-
-int pthread_sigmask(int, const sigset_t *, sigset_t *);
-int pthread_kill(pthread_t, int);
+#endif
#ifdef _GNU_SOURCE
#ifdef _GNU_SOURCE
-typedef int (*sighandler_t)(int);
+typedef void (*sighandler_t)(int);
+void (*bsd_signal(int, void (*)(int)))(int);
#endif
#endif
+#include <bits/signal.h>
+
+typedef int sig_atomic_t;
+
+void (*signal(int, void (*)(int)))(int);
+int raise(int);
+
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
}
#endif