On Tue, Apr 14, 2015 at 2:59 PM, Mark Kettenis <[email protected]> wrote:
>> From: "Todd C. Miller" <[email protected]>
>>
>> The situation is a little complicated. POSIX defines the third
>> argument to the sa_sigaction handler as void * and says it may be
>> cast to ucontext_t. On OpenBSD, it is really a pointer to struct
>> sigcontext but this is really an implementation detail
Historical note: when the *context family of functions were obsoleted
from POSIX, the <ucontext.h> header was obsoleted too. They then
said, "oops, we need that structure for sigaction()!" and required
<signal.h> to provide the structure. Hmm, what's the point of
defining that the sa_sigaction callback that this structure when there
are no operations on the structure? Might as well make the 3rd
argument opaque; let's change it to void* !
...
> Not sure if mentioning ucontext_t is such a good idea. While POSIX
> does contain similar text. it doesn't actually tell you which header
> provides ucontext_t.
Issue 7, XBD lines 11165-11166:
The <signal.h> header shall define the ucontext_t type as a
structure that shall include at least
the following members:
Philip Guenther