|
From: <sv...@va...> - 2005-07-20 13:45:50
|
Author: tom
Date: 2005-07-20 14:45:43 +0100 (Wed, 20 Jul 2005)
New Revision: 4216
Log:
Bring the vki_sigevent_t definition into line with current kernels.
Modified:
trunk/include/vki-linux.h
Modified: trunk/include/vki-linux.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/vki-linux.h 2005-07-20 13:18:23 UTC (rev 4215)
+++ trunk/include/vki-linux.h 2005-07-20 13:45:43 UTC (rev 4216)
@@ -440,13 +440,17 @@
#define VKI_SI_USER 0 /* sent by kill, sigsend, raise */
#define VKI_SI_TKILL -6 /* sent by tkill system call */
=20
-#define VKI_SIGEV_MAX_SIZE 64
-#ifndef VKI_SIGEV_PAD_SIZE
-#define VKI_SIGEV_PAD_SIZE ((VKI_SIGEV_MAX_SIZE/sizeof(int)) - 3)
+/*
+ * This works because the alignment is ok on all current architectures
+ * but we leave open this being overridden in the future
+ */
+#ifndef VKI___ARCH_SIGEV_PREAMBLE_SIZE
+#define VKI___ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(vki_sig=
val_t))
#endif
=20
-// [[Nb: in 2.6.8.1, this constant is never defined...]]
-#ifndef HAVE_ARCH_SIGEVENT_T
+#define VKI_SIGEV_MAX_SIZE 64
+#define VKI_SIGEV_PAD_SIZE ((VKI_SIGEV_MAX_SIZE - VKI___ARCH_SIGEV_PREAM=
BLE_SIZE) \
+ / sizeof(int))
=20
typedef struct vki_sigevent {
vki_sigval_t sigev_value;
@@ -463,8 +467,6 @@
} _sigev_un;
} vki_sigevent_t;
=20
-#endif
-
//----------------------------------------------------------------------
// From elsewhere...
//----------------------------------------------------------------------
|