Recognize SI_KERNEL and SI_ASYNCNL

* signal.c [LINUX] (SI_KERNEL, SI_ASYNCNL): Define.
[LINUX || SVR4] (siginfo_codes): Add entries for SI_KERNEL and
SI_ASYNCNL, reorder entries.
This commit is contained in:
Дмитрий Левин 2011-03-10 21:41:34 +00:00
parent 6c0e2fc552
commit 7d4bff1851

View File

@ -441,14 +441,17 @@ print_sigset(struct tcb *tcp, long addr, int rt)
#define POLL_ERR 4 /* i/o error */ #define POLL_ERR 4 /* i/o error */
#define POLL_PRI 5 /* high priority input available */ #define POLL_PRI 5 /* high priority input available */
#define POLL_HUP 6 /* device disconnected */ #define POLL_HUP 6 /* device disconnected */
#define SI_KERNEL 0x80 /* sent by kernel */
#define SI_USER 0 /* sent by kill, sigsend, raise */ #define SI_USER 0 /* sent by kill, sigsend, raise */
#define SI_QUEUE -1 /* sent by sigqueue */ #define SI_QUEUE -1 /* sent by sigqueue */
#define SI_TIMER -2 /* sent by timer expiration */ #define SI_TIMER -2 /* sent by timer expiration */
#define SI_MESGQ -3 /* sent by real time mesq state change */ #define SI_MESGQ -3 /* sent by real time mesq state change */
#define SI_ASYNCIO -4 /* sent by AIO completion */ #define SI_ASYNCIO -4 /* sent by AIO completion */
#define SI_SIGIO -5 /* Sent by SIGIO */ #define SI_SIGIO -5 /* sent by SIGIO */
#define SI_TKILL -6 /* Sent by tkill */ #define SI_TKILL -6 /* sent by tkill */
#endif #define SI_ASYNCNL -60 /* sent by asynch name lookup completion */
#endif /* LINUX */
#if __GLIBC_MINOR__ < 1 #if __GLIBC_MINOR__ < 1
/* Type for data associated with a signal. */ /* Type for data associated with a signal. */
@ -537,32 +540,38 @@ typedef struct siginfo
#if defined (SVR4) || defined (LINUX) #if defined (SVR4) || defined (LINUX)
static const struct xlat siginfo_codes[] = { static const struct xlat siginfo_codes[] = {
#ifdef SI_NOINFO #ifdef SI_KERNEL
{ SI_NOINFO, "SI_NOINFO" }, { SI_KERNEL, "SI_KERNEL" },
#endif #endif
#ifdef SI_USER #ifdef SI_USER
{ SI_USER, "SI_USER" }, { SI_USER, "SI_USER" },
#endif #endif
#ifdef SI_LWP
{ SI_LWP, "SI_LWP" },
#endif
#ifdef SI_QUEUE #ifdef SI_QUEUE
{ SI_QUEUE, "SI_QUEUE" }, { SI_QUEUE, "SI_QUEUE" },
#endif #endif
#ifdef SI_TIMER #ifdef SI_TIMER
{ SI_TIMER, "SI_TIMER" }, { SI_TIMER, "SI_TIMER" },
#endif #endif
#ifdef SI_ASYNCIO
{ SI_ASYNCIO, "SI_ASYNCIO" },
#endif
#ifdef SI_MESGQ #ifdef SI_MESGQ
{ SI_MESGQ, "SI_MESGQ" }, { SI_MESGQ, "SI_MESGQ" },
#endif #endif
#ifdef SI_ASYNCIO
{ SI_ASYNCIO, "SI_ASYNCIO" },
#endif
#ifdef SI_SIGIO #ifdef SI_SIGIO
{ SI_SIGIO, "SI_SIGIO" }, { SI_SIGIO, "SI_SIGIO" },
#endif #endif
#ifdef SI_TKILL #ifdef SI_TKILL
{ SI_TKILL, "SI_TKILL" }, { SI_TKILL, "SI_TKILL" },
#endif
#ifdef SI_ASYNCNL
{ SI_ASYNCNL, "SI_ASYNCNL" },
#endif
#ifdef SI_NOINFO
{ SI_NOINFO, "SI_NOINFO" },
#endif
#ifdef SI_LWP
{ SI_LWP, "SI_LWP" },
#endif #endif
{ 0, NULL }, { 0, NULL },
}; };