提交 03a83629 编写于 作者: R Rich Felker

fix broken siginfo_t with _GNU_SOURCE defined

this bug was introduced in a recent patch. the problem we're working
around is that broken GNU software wants to use "struct siginfo"
rather than "siginfo_t", but "siginfo" is not in the reserved
namespace and thus not legal for the standard header to use.
上级 114c80f1
......@@ -8,6 +8,10 @@ extern "C" {
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
#ifdef _GNU_SOURCE
#define __siginfo siginfo
#endif
#define __NEED_size_t
#define __NEED_pid_t
#define __NEED_uid_t
......@@ -95,12 +99,7 @@ union sigval {
void *sival_ptr;
};
#ifdef _GNU_SOURCE
struct siginfo
#else
struct __siginfo
#endif
{
struct __siginfo {
int si_signo, si_errno, si_code;
union {
char __pad[128 - 3*sizeof(int)];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册