Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Oct 1999 21:42:50 +0200
From:      Marcel Moolenaar <marcel@scc.nl>
To:        current@FreeBSD.org
Subject:   HEADS UP: rebirth of sigcontext
Message-ID:  <37F9033A.42278634@scc.nl>

next in thread | raw e-mail | index | archive | help
Hi,

I just committed the sigcontext changes. sigreturn can now again be
called with an argument of type sigcontext but also with an argument of
type ucontext_t. Also, signal handlers can define their third argument
to be both of type struct sigcontext* and ucontext_t*. This should fix
the source incompatibility introduced by the sigset_t changes.

Alpha users are again advised to take precaution. Not that I expect
filesystem crashes, but simply because I can't test those changes. Maybe
in the future...

NOTE: Recompilation of doscmd is required.

For your convenience, the commit log message:

Re-introduction of sigcontext.

struct sigcontext and ucontext_t/mcontext_t are defined in such
a way that both (ie struct sigcontext and ucontext_t) can be
passed on to sigreturn. The signal handler is still given a
ucontext_t for maximum flexibility.

For backward compatibility sigreturn restores the state for the
alternate signal stack from sigcontext.sc_onstack and not from
ucontext_t.uc_stack. A good way to determine which value the
application has set and thus which value to use, is still open
for discussion.

NOTE: This change should only affect those binaries that use
      sigcontext and/or ucontext_t. In the source tree itself
      this is only doscmd. Recompilation is required for those
      applications.

This commit also fixes a lot of style bugs without hopefully
adding new ones.

NOTE: struct sigaltstack.ss_size now has type size_t again. For
      some reason I changed that into unsigned int.

Parts submitted by: bde
sigaltstack bug found by: bde

-- 
Marcel Moolenaar                        mailto:marcel@scc.nl
SCC Internetworking & Databases           http://www.scc.nl/
The FreeBSD project                mailto:marcel@FreeBSD.org


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?37F9033A.42278634>