From: Daniel Jacobowitz Date: Tue, 4 Mar 2008 19:39:30 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (struct siginfo): X-Git-Tag: glibc-2.16-ports-merge^2~726 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7812cbad411364ceea15e841ca26d14602644851;p=platform%2Fupstream%2Fglibc.git * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (struct siginfo): Reorganize to match other architectures. Replace _timer._timer1 and _timer._timer2 with _timer.si_tid, _timer.si_overrun, and _timer.si_sigval. Correct the type of _sigpoll.si_band. (si_timerid, si_overrun): Define. (__SIGEV_PAD_SIZE): Correct for __WORDSIZE == 64. (__pthread_attr_s): Remove declaration. (struct sigevent): Remove XXX. Add _tid. --- diff --git a/ChangeLog.mips b/ChangeLog.mips index ffbc344..d73b218 100644 --- a/ChangeLog.mips +++ b/ChangeLog.mips @@ -1,3 +1,14 @@ +2008-03-04 Daniel Jacobowitz + + * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (struct siginfo): + Reorganize to match other architectures. Replace _timer._timer1 + and _timer._timer2 with _timer.si_tid, _timer.si_overrun, and + _timer.si_sigval. Correct the type of _sigpoll.si_band. + (si_timerid, si_overrun): Define. + (__SIGEV_PAD_SIZE): Correct for __WORDSIZE == 64. + (__pthread_attr_s): Remove declaration. + (struct sigevent): Remove XXX. Add _tid. + 2007-10-22 Daniel Jacobowitz * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_DUPFD_CLOEXEC): Define. diff --git a/sysdeps/unix/sysv/linux/mips/bits/siginfo.h b/sysdeps/unix/sysv/linux/mips/bits/siginfo.h index 787e365..e0fc81a 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/siginfo.h +++ b/sysdeps/unix/sysv/linux/mips/bits/siginfo.h @@ -1,5 +1,5 @@ /* siginfo_t, sigevent and constants. Linux/MIPS version. - Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -70,6 +70,22 @@ typedef struct siginfo __uid_t si_uid; /* Real user ID of sending process. */ } _kill; + /* POSIX.1b timers. */ + struct + { + int si_tid; /* Timer ID. */ + int si_overrun; /* Overrun count. */ + sigval_t si_sigval; /* Signal value. */ + } _timer; + + /* POSIX.1b signals. */ + struct + { + __pid_t si_pid; /* Sending process ID. */ + __uid_t si_uid; /* Real user ID of sending process. */ + sigval_t si_sigval; /* Signal value. */ + } _rt; + /* SIGCHLD. */ struct { @@ -89,24 +105,9 @@ typedef struct siginfo /* SIGPOLL. */ struct { - int si_band; /* Band event for SIGPOLL. */ + long int si_band; /* Band event for SIGPOLL. */ int si_fd; } _sigpoll; - - /* POSIX.1b timers. */ - struct - { - unsigned int _timer1; - unsigned int _timer2; - } _timer; - - /* POSIX.1b signals. */ - struct - { - __pid_t si_pid; /* Sending process ID. */ - __uid_t si_uid; /* Real user ID of sending process. */ - sigval_t si_sigval; /* Signal value. */ - } _rt; } _sifields; } siginfo_t; @@ -114,6 +115,8 @@ typedef struct siginfo /* X/Open requires some more fields with fixed names. */ # define si_pid _sifields._kill.si_pid # define si_uid _sifields._kill.si_uid +# define si_timerid _sifields._timer.si_tid +# define si_overrun _sifields._timer.si_overrun # define si_status _sifields._sigchld.si_status # define si_utime _sifields._sigchld.si_utime # define si_stime _sifields._sigchld.si_stime @@ -265,12 +268,12 @@ enum /* Structure to transport application-defined values with signals. */ # define __SIGEV_MAX_SIZE 64 -# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3) - -/* Forward declaration of the `pthread_attr_t' type. */ -struct __pthread_attr_s; +# if __WORDSIZE == 64 +# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4) +# else +# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3) +# endif -/* XXX This one might need to change!!! */ typedef struct sigevent { sigval_t sigev_value; @@ -281,6 +284,10 @@ typedef struct sigevent { int _pad[__SIGEV_PAD_SIZE]; + /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the + thread to receive the signal. */ + __pid_t _tid; + struct { void (*_function) (sigval_t); /* Function to start. */