aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/siginfo.h
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-05-01 11:59:08 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-01 11:59:08 -0400
commita71c1ab50a2a0f4dd9834bf5a917a2f064535c6b (patch)
tree063bdb02b335f2c5b38f9e503434fa5fbf0106c4 /include/asm-generic/siginfo.h
parent696f9486d0207d499391004f5bc9bd7c0e6ae82f (diff)
[PATCH] consolidate SIGEV_PAD_SIZE
Discussing with Matthew Wilcox some of his outstanding patches lead me to this patch (among others). The preamble in struct sigevent can be expressed independently of the architecture. Also use __ARCH_SI_PREAMBLE_SIZE on ia64. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-generic/siginfo.h')
-rw-r--r--include/asm-generic/siginfo.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/asm-generic/siginfo.h b/include/asm-generic/siginfo.h
index 9cac8e8dde51..8786e01e0db8 100644
--- a/include/asm-generic/siginfo.h
+++ b/include/asm-generic/siginfo.h
@@ -236,11 +236,18 @@ typedef struct siginfo {
236#define SIGEV_THREAD 2 /* deliver via thread creation */ 236#define SIGEV_THREAD 2 /* deliver via thread creation */
237#define SIGEV_THREAD_ID 4 /* deliver to thread */ 237#define SIGEV_THREAD_ID 4 /* deliver to thread */
238 238
239#define SIGEV_MAX_SIZE 64 239/*
240#ifndef SIGEV_PAD_SIZE 240 * This works because the alignment is ok on all current architectures
241#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3) 241 * but we leave open this being overridden in the future
242 */
243#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
244#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
242#endif 245#endif
243 246
247#define SIGEV_MAX_SIZE 64
248#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \
249 / sizeof(int))
250
244typedef struct sigevent { 251typedef struct sigevent {
245 sigval_t sigev_value; 252 sigval_t sigev_value;
246 int sigev_signo; 253 int sigev_signo;