Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Feb 2002 12:16:44 -0500 (EST)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Bruce Evans <bde@zeta.org.au>, Kevin Day <toasty@shell.dragondata.com>, current@FreeBSD.ORG, bde@FreeBSD.ORG
Subject:   Re: function name collision on "getcontext" with ports/editors/joe
Message-ID:  <Pine.GSO.4.10.10202111212450.2543-100000@pcnet1.pcnet.com>
In-Reply-To: <3C67F8F2.EB36BA9A@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 11 Feb 2002, Terry Lambert wrote:
> Daniel Eischen wrote:
> > It breaks more than that.  Applications that just want to use
> > sigaction, sigaltstack, etc, only need to include <signal.h>,
> > but that also defines sigreturn as:
> > 
> >   int     sigreturn __P((ucontext_t *));
> > 
> > Removing <sys/ucontext.h> from <sys/signal.h> prevents ucontext_t
> > from being defined, so all users of <signal.h> would choke.
> > 
> > We can change the prototype of sigreturn back to struct sigcontext *,
> > or just forward declare ucontext_t in <signal.h> or <sys/signal.h>.
> 
> Forward declare it.  People who need its internals will
> include the proper header.

How do you easily forward declare something that is a typedef?
You could forward declare struct __ucontext and use a pointer
to that as the argument to sigreturn, but that doesn't seem
right as it is relying on how ucontext_t is defined.

-- 
Dan Eischen


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10202111212450.2543-100000>