On 2010-01-27 at 22:46:56 [+0100], Andreas Färber <andreas.faerber@xxxxxx> wrote: > Am 26.01.2010 um 07:42 schrieb Ingo Weinhold: > > > the header itself was not marked obsolescent in 2004. But > > that 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.html > > So 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? You seem to be using the old (2004, volume 6) standard. Current is 2008, volume 7: http://www.opengroup.org/onlinepubs/9699919799/ > >> 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 The history of that one is a bit different though. It was not added #if 0'ed, but was #if 0'ed because it made trouble. The alternative would have been to remove it. > while my patch on haiku-develoment/Trac has > been bitrotting for years. I sincerely hope no bitrotting is going on on our server. ;-) > 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. Without defining ucontext_t, the main part of your patch cannot be applied. It cannot be applied without changes anyway, since SA_SIGINFO will not be defined until it actually works. I don't know whether defining ucontext_t can cause problems, probably not. Anyway, to hopefully conclude this discussion about virtually nothing: Update your patch so that it defines mcontext_t and ucontext_t in <signal.h> and does *not* define SA_SIGINFO, and I'm willing to apply it. CU, Ingo