Commit b614db14 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Fix si_band type in asm-generic/siginfo.h

From: Andi Kleen <ak@suse.de>

POSIX says si_band in siginfo_t must be long. glibc uses this, except
for Alpha.

This type must be correct on little endian machines, otherwise
Konqueror does not get any events from dnotity for created/deleted files.

Currenly asm-generic/siginfo.h uses int, which is wrong.

This patch adds a new macro __ARCH_SI_BAND_T which is int for alpha
and long for everybody else. This makes the type on x86-64 come out
correctly
parent 7ef85b9f
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4) #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4)
#define __ARCH_SI_BAND_T int
#include <asm-generic/siginfo.h> #include <asm-generic/siginfo.h>
#endif #endif
...@@ -26,6 +26,10 @@ typedef union sigval { ...@@ -26,6 +26,10 @@ typedef union sigval {
#define __ARCH_SI_UID_T uid_t #define __ARCH_SI_UID_T uid_t
#endif #endif
#ifndef __ARCH_SI_BAND_T
#define __ARCH_SI_BAND_T long
#endif
#ifndef HAVE_ARCH_SIGINFO_T #ifndef HAVE_ARCH_SIGINFO_T
typedef struct siginfo { typedef struct siginfo {
...@@ -77,7 +81,7 @@ typedef struct siginfo { ...@@ -77,7 +81,7 @@ typedef struct siginfo {
/* SIGPOLL */ /* SIGPOLL */
struct { struct {
int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
int _fd; int _fd;
} _sigpoll; } _sigpoll;
} _sifields; } _sifields;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment