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

Reply via email to