summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2019-06-30 21:55:20 -0400
committerRich Felker <dalias@aerifal.cx>2020-10-28 23:00:08 -0400
commit7c71792e87691451f2a6b76348e83ad1889f1dcb (patch)
tree05ba932ab3cd73d9babb31c7e262906887154a7f /include
parentf70375df85d26235a45e74559afd69be59e5ff99 (diff)
downloadmusl-7c71792e87691451f2a6b76348e83ad1889f1dcb.tar.gz
add support for SIGEV_THREAD_ID timers
This is like SIGEV_SIGNAL, but targeted to a particular thread's tid, rather than the process.
Diffstat (limited to 'include')
-rw-r--r--include/signal.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/signal.h b/include/signal.h
index fbdf667b..9ed929e4 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -180,14 +180,24 @@ struct sigevent {
union sigval sigev_value;
int sigev_signo;
int sigev_notify;
- void (*sigev_notify_function)(union sigval);
- pthread_attr_t *sigev_notify_attributes;
- char __pad[56-3*sizeof(long)];
+ union {
+ char __pad[64 - 2*sizeof(int) - sizeof(union sigval)];
+ pid_t sigev_notify_thread_id;
+ struct {
+ void (*sigev_notify_function)(union sigval);
+ pthread_attr_t *sigev_notify_attributes;
+ } __sev_thread;
+ } __sev_fields;
};
+#define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id
+#define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function
+#define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes
+
#define SIGEV_SIGNAL 0
#define SIGEV_NONE 1
#define SIGEV_THREAD 2
+#define SIGEV_THREAD_ID 4
int __libc_current_sigrtmin(void);
int __libc_current_sigrtmax(void);