|
Message-ID: <20140420045932.GA27624@brightrain.aerifal.cx>
Date: Sun, 20 Apr 2014 00:59:32 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: proposed siginfo changes
I've realized that our siginfo_t structure (and also the kernel and
glibc versions of it) have a bug: due to the way the union is laid
out, it's illegal to initialize both si_pid and si_value. This is
because __sigchld and __rt are both members of the same union and at
most one member of a union can be initialized.
The attached patch is a proposal for fixing this, with a more complex
setup of unions and structs. I'm going to hold off on applying it
immediately in case anyone has better ideas for how to do this. One
possible improvement would be to set things up so we could #define
away all of the __-prefixed names on GNUC or C11 compilers and thereby
use anonymous structs and unions instead of the hideous preprocessor
mess to access members.
Rich
View attachment "siginfo.diff" of type "text/plain" (2535 bytes)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.