diff options
author | James Y Knight <jyknight@google.com> | 2019-06-30 21:55:20 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2020-10-28 23:00:08 -0400 |
commit | 7c71792e87691451f2a6b76348e83ad1889f1dcb (patch) | |
tree | 05ba932ab3cd73d9babb31c7e262906887154a7f /include | |
parent | f70375df85d26235a45e74559afd69be59e5ff99 (diff) | |
download | musl-7c71792e87691451f2a6b76348e83ad1889f1dcb.tar.gz musl-7c71792e87691451f2a6b76348e83ad1889f1dcb.tar.bz2 musl-7c71792e87691451f2a6b76348e83ad1889f1dcb.tar.xz musl-7c71792e87691451f2a6b76348e83ad1889f1dcb.zip |
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.h | 16 |
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); |