]> granicus.if.org Git - strace/commitdiff
Recognize SI_KERNEL and SI_ASYNCNL
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 10 Mar 2011 21:41:34 +0000 (21:41 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 10 Mar 2011 21:41:34 +0000 (21:41 +0000)
* signal.c [LINUX] (SI_KERNEL, SI_ASYNCNL): Define.
[LINUX || SVR4] (siginfo_codes): Add entries for SI_KERNEL and
SI_ASYNCNL, reorder entries.

signal.c

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