Merge in Jmiller's last changes.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Mon, 30 Jul 1990 16:54:26 +0000 (16:54 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Mon, 30 Jul 1990 16:54:26 +0000 (16:54 +0000)
v7/src/microcode/uxsig.c
v7/src/microcode/uxtrap.h

index 81b8aeae0e4110edddb0e7395f1e5d558481cf6b..a60be7fe8a2b196dc3e1cfcd9a500ac56669e6ff 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxsig.c,v 1.1 1990/06/20 19:37:28 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxsig.c,v 1.2 1990/07/30 16:52:16 jinx Exp $
 
 Copyright (c) 1990 Massachusetts Institute of Technology
 
@@ -594,9 +594,10 @@ DEFUN (bind_handler, (signo, handler),
        int signo AND
        Tsignal_handler handler)
 {
-  if ((signo != 0) &&
-      ((handler != sighnd_stop) || (UX_SC_JOB_CONTROL ())) &&
-      ((current_handler (signo)) == SIG_DFL))
+  if ((signo != 0)
+      && ((handler != ((Tsignal_handler) sighnd_stop))
+         || (UX_SC_JOB_CONTROL ()))
+      && ((current_handler (signo)) == SIG_DFL))
     INSTALL_HANDLER (signo, handler);
 }
 
@@ -767,12 +768,18 @@ static enum interrupt_handler
 DEFUN (encode_interrupt_handler, (handler), Tsignal_handler handler)
 {
   return
-    ((handler == sighnd_control_g) ? interrupt_handler_control_g
-     : (handler == sighnd_interactive) ? interrupt_handler_interactive
-     : (handler == sighnd_stop) ? interrupt_handler_stop
-     : (handler == sighnd_terminate) ? interrupt_handler_terminate
-     : (handler == SIG_IGN) ? interrupt_handler_ignore
-     : (handler == SIG_DFL) ? interrupt_handler_default
+    ((handler == ((Tsignal_handler) sighnd_control_g))
+     ? interrupt_handler_control_g
+     : (handler == ((Tsignal_handler) sighnd_interactive))
+     ? interrupt_handler_interactive
+     : (handler == ((Tsignal_handler) sighnd_stop))
+     ? interrupt_handler_stop
+     : (handler == ((Tsignal_handler) sighnd_terminate))
+     ? interrupt_handler_terminate
+     : (handler == ((Tsignal_handler) SIG_IGN))
+     ? interrupt_handler_ignore
+     : (handler == ((Tsignal_handler) SIG_DFL))
+     ? interrupt_handler_default
      : interrupt_handler_unknown);
 }
 
@@ -780,13 +787,19 @@ static Tsignal_handler
 DEFUN (decode_interrupt_handler, (encoding), enum interrupt_handler encoding)
 {
   return
-    ((encoding == interrupt_handler_control_g) ? sighnd_control_g
-     : (encoding == interrupt_handler_interactive) ? sighnd_interactive
-     : (encoding == interrupt_handler_stop) ? sighnd_stop
-     : (encoding == interrupt_handler_terminate) ? sighnd_terminate
-     : (encoding == interrupt_handler_ignore) ? SIG_IGN
-     : (encoding == interrupt_handler_default) ? SIG_DFL
-     : 0);
+    ((encoding == interrupt_handler_control_g)
+     ? ((Tsignal_handler) sighnd_control_g)
+     : (encoding == interrupt_handler_interactive)
+     ? ((Tsignal_handler) sighnd_interactive)
+     : (encoding == interrupt_handler_stop)
+     ? ((Tsignal_handler) sighnd_stop)
+     : (encoding == interrupt_handler_terminate)
+     ? ((Tsignal_handler) sighnd_terminate)
+     : (encoding == interrupt_handler_ignore)
+     ? ((Tsignal_handler) SIG_IGN)
+     : (encoding == interrupt_handler_default)
+     ? ((Tsignal_handler) SIG_DFL)
+     : ((Tsignal_handler) 0));
 }
 
 enum interrupt_handler
index 7ec4e77e8ae2b3db2a1be18e09a49d61dd2d7ebe..fb35506970f11906c71df353845967557e86a7af 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxtrap.h,v 1.2 1990/06/28 18:20:53 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxtrap.h,v 1.3 1990/07/30 16:54:26 jinx Exp $
 
 Copyright (c) 1990 Massachusetts Institute of Technology
 
@@ -191,10 +191,11 @@ struct full_sigcontext
 
 #ifdef mips
 
-/* For now, no compiler */
-/* If the compiler is ever ported, look at <signal.h> */
+/* For now, no trap handling support in compiled code.
+   This should be fixed.
+ */
 
-#define sc_sp (sc_regs[29])
+#define sc_sp sc_regs[29]
 
 #endif /* mips */