linux-mips
[Top] [All Lists]

[PATCH] Fix sigevent_t stuff

To: Ulrich Drepper <drepper@redhat.com>, Glibc hackers <libc-hacker@sources.redhat.com>, linux-mips@linux-mips.org
Subject: [PATCH] Fix sigevent_t stuff
From: Ralf Baechle <ralf@linux-mips.org>
Date: Sun, 31 Aug 2003 16:58:54 +0200
Cc: jsun@mvista.com
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
Uli,

below patch fixes a mismatch between glibc and the kernel header's
definition on MIPS.  Please apply.

Thanks,

  Ralf

2003-08-31  Ralf Baechle  <ralf@linux-mips.org>

        * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Delete comment
        obsoleted by this patch.
        (__SIGEV_PAD_SIZE: Change the definition such that it'll keep the size
        of sigevent_t at SIGEV_MAX_SIZE bytes for 64-bit also.
        (SIGEV_MAX_SIZE): Remove unused definition making this match the
        kernel definition.

Index: sysdeps/unix/sysv/linux/mips/bits/siginfo.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/bits/siginfo.h,v
retrieving revision 1.10
diff -u -r1.10 siginfo.h
--- sysdeps/unix/sysv/linux/mips/bits/siginfo.h 22 May 2003 02:26:29 -0000      
1.10
+++ sysdeps/unix/sysv/linux/mips/bits/siginfo.h 31 Aug 2003 14:31:00 -0000
@@ -255,12 +255,13 @@
 
 /* Structure to transport application-defined values with signals.  */
 # define __SIGEV_MAX_SIZE      64
-# define __SIGEV_PAD_SIZE      ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
+# define __SIGEV_HEAD_SIZE     (sizeof(long) + 2*sizeof(int))
+# define __SIGEV_PAD_SIZE      \
+       ((__SIGEV_MAX_SIZE-__SIGEV_HEAD_SIZE) / sizeof(int))
 
 /* Forward declaration of the `pthread_attr_t' type.  */
 struct __pthread_attr_s;
 
-/* XXX This one might need to change!!!  */
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -290,8 +291,6 @@
 # define SIGEV_SIGNAL  SIGEV_SIGNAL
   SIGEV_NONE,                  /* Other notification: meaningless.  */
 # define SIGEV_NONE    SIGEV_NONE
-  SIGEV_CALLBACK,              /* Deliver via thread creation.  */
-# define SIGEV_CALLBACK        SIGEV_CALLBACK
   SIGEV_THREAD                 /* Deliver via thread creation.  */
 # define SIGEV_THREAD  SIGEV_THREAD
 };

<Prev in Thread] Current Thread [Next in Thread>