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>