path: root/sys/sys/signal.h
diff options
authorPeter Wemm <peter@FreeBSD.org>2002-10-25 19:10:58 +0000
committerPeter Wemm <peter@FreeBSD.org>2002-10-25 19:10:58 +0000
commit23eeeff7bee66bd81fa2d7ec9d648339bd0d041f (patch)
tree96a1089f558875f808b1fd36f885179cd78f55de /sys/sys/signal.h
parentfb3a308a4ac3ca2c6fcd097a2990d7ea52ab230f (diff)
Split 4.x and 5.x signal handling so that we can keep 4.x signal
handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound. Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc. Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re
Notes: svn path=/head/; revision=105950
Diffstat (limited to 'sys/sys/signal.h')
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/sys/signal.h b/sys/sys/signal.h
index edbb46097b28..deae42d69976 100644
--- a/sys/sys/signal.h
+++ b/sys/sys/signal.h
@@ -302,6 +302,14 @@ struct sigvec {
#define sv_onstack sv_flags /* isn't compatibility wonderful! */
+/* Keep this in one place only */
+#if defined(_KERNEL) && defined(COMPAT_43) && \
+ !defined(__i386__) && !defined(__alpha__)
+struct osigcontext {
+ int _not_used;
* Structure used in sigstack call.