summaryrefslogtreecommitdiff
path: root/mcon/U/d_sigvec.U
diff options
context:
space:
mode:
Diffstat (limited to 'mcon/U/d_sigvec.U')
-rw-r--r--mcon/U/d_sigvec.U99
1 files changed, 99 insertions, 0 deletions
diff --git a/mcon/U/d_sigvec.U b/mcon/U/d_sigvec.U
new file mode 100644
index 0000000..57c13ca
--- /dev/null
+++ b/mcon/U/d_sigvec.U
@@ -0,0 +1,99 @@
+?RCS: $Id$
+?RCS:
+?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+?RCS:
+?RCS: You may redistribute only under the terms of the Artistic License,
+?RCS: as specified in the README file that comes with the distribution.
+?RCS: You may reuse parts of this distribution only within the terms of
+?RCS: that same Artistic License; a copy of which may be found at the root
+?RCS: of the source tree for dist 4.0.
+?RCS:
+?RCS: $Log: d_sigvec.U,v $
+?RCS: Revision 3.0.1.1 1997/02/28 15:45:37 ram
+?RCS: patch61: there is now a separate routine for sigaction()
+?RCS:
+?RCS: Revision 3.0 1993/08/18 12:07:24 ram
+?RCS: Baseline for dist 3.0 netwide release.
+?RCS:
+?X: d_sigvec.U, from d_ftime.U 1.0
+?X:
+?MAKE:d_sigvec d_sigvectr d_sigintrp: Trylink cat
+?MAKE: -pick add $@ %<
+?S:d_sigvec:
+?S: This variable conditionally defines the HAS_SIGVEC symbol, which indicates
+?S: that BSD reliable signals are supported.
+?S:.
+?S:d_sigvectr:
+?S: This variable conditionally defines the HAS_SIGVECTOR symbol, which
+?S: indicates that the sigvec() routine is called sigvector() instead, for
+?S: reasons known only to Hewlett-Packard.
+?S:.
+?S:d_sigintrp:
+?S: This variable conditionally defines the HAS_SIGINTRP symbol, which
+?S: indicates that the siginterrupt() routine is available.
+?S:.
+?C:HAS_SIGVEC (SIGVEC):
+?C: This symbol, if defined, indicates that BSD reliable signals are
+?C: supported.
+?C:.
+?C:HAS_SIGVECTOR (SIGVECTOR):
+?C: This symbol, if defined, indicates that the sigvec() routine is called
+?C: sigvector() instead, and that sigspace() is provided instead of
+?C: sigstack(). This is probably only true for HP-UX.
+?C:.
+?C:HAS_SIGINTRP (SIGINTRP):
+?C: This symbol, if defined, indicates that the siginterrupt() routine
+?C: is available.
+?C:.
+?H:#$d_sigvec HAS_SIGVEC /**/
+?H:#$d_sigvectr HAS_SIGVECTOR /**/
+?H:#$d_sigintrp HAS_SIGINTRP /**/
+?H:.
+?LINT:set d_sigvec d_sigvectr d_sigintrp
+@if d_sigvectr || d_sigvec || HAS_SIGVEC || HAS_SIGVECTOR
+: see if sigvector exists
+$cat >try.c <<EOC
+#include <signal.h>
+int main(void)
+{
+ static int ret, sig;
+ struct sigvec vec, ovec;
+ ret |= sigvector(sig, &vec, &ovec);
+ return ret ? 0 : 1;
+}
+EOC
+cyn=sigvector
+set d_sigvectr
+eval $trylink
+
+$cat >try.c <<EOC
+#include <signal.h>
+int main(void)
+{
+ static int ret, sig;
+ struct sigvec vec, ovec;
+ ret |= sigvec(sig, &vec, &ovec);
+ return ret ? 0 : 1;
+}
+EOC
+cyn=sigvec
+set d_sigvec
+eval $trylink
+
+@end
+@if d_sigintrp || HAS_SIGINTRP
+: see if we have siginterrupt
+$cat >try.c <<EOC
+#include <signal.h>
+int main(void)
+{
+ static int ret, sig, flag;
+ ret |= siginterrupt(sig, flag);
+ return ret ? 0 : 1;
+}
+EOC
+cyn=siginterrupt
+set d_sigintrp
+eval $trylink
+
+@end