Am 26.01.2010 um 07:42 schrieb Ingo Weinhold:
the header itself was not marked obsolescent in 2004. Butthat wasn't my point. The header *is* no longer POSIX (well, or at least obsolescent -- signal.h refers to it as such, although the link is broken),so we shouldn't add it.The key part is the mcontext_t definition, as pointed out in the ticket, and that does not need backing further than defining it in a useful way.Those are supposed to be defined in signal.h, now.
Still couldn't find any reference on ucontext.h obsolescense on opengroup.org, but I see there'd be a circular reference between sigset_t/stack_t and ucontext_t/mcontext_t:
http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html http://www.opengroup.org/onlinepubs/009695399/basedefs/ucontext.h.htmlSo I'd figure, Haiku should add ucontext.h at some point but make it #include signal.h only and define the types in signal.h?
Feel free to #if 0 out the ucontext_t type if it confuses some piece of software.But then, what's the point?
First, careful with u vs. m: I posted #5324 to get mcontext_t.If there's a piece of software that breaks when defining mcontext_t, please name it. Otherwise it is pure speculation and I'd ask you to add my definition of mcontext_t wherever appropriate, please.
ucontext_t is the one that is unlikely needed without SA_SIGINFO, and I'd be okay not defining it for now.
Then, my point is that half-complete #if 0'ed code is already in the public signal.h header while my patch on haiku-develoment/Trac has been bitrotting for years. Having all of it in the repository would seem advantageous to me, not only to avoid all the rebasing on my part. That's why I suggested to apply the parts of my patch that don't break anything and to consider adding the other ones in disabled form.
Andreas