scsh-users
[Top] [All Lists]

Re: scsh

To: "Brian D. Carlstrom" <bdc@ai.mit.edu>
Subject: Re: scsh
From: Alan Bawden <Bawden@cs.brandeis.edu>
Date: Mon, 15 Feb 1999 15:09:22 -0500 (EST)
Cc: scsh-bugs@martigny.ai.mit.edu
Sender: Bawden@cs.brandeis.edu
   Date: Sun, 14 Feb 1999 09:30:33 -0800 (PST)
   From: "Brian D. Carlstrom" <bdc@martigny.ai.mit.edu>
   Alan Bawden writes:
    > Looks like an Irix-specific bug in scsh (0.5).  
    > GDB claims the scsh process is getting a SIGWINCH!

   Check scsh-0.5.1/scsh/irix/signals.scm against /usr/include/signals.h.

You're right -- signals.scm is totally bogus.  Below is a patch that cleans
things up.  These numbers are correct for Irix 5.3 and 6.2 -- I have tested
it on both versions.  Oddly, the file scsh-0.5.1/scsh/irix/signals1.c
-already- has the correct numbers in it.

Note that I removed `signal/poll' from `signals-ignored-by-default'.  I'm
not sure I understand exactly what's going on in the one place where
`signals-ignored-by-default' is used, but under Irix the default behavior
for SIGPOLL (= SIGIO) is to -exit-, not to ignore the signal, so I think my
change is probably correct.

BTW, currently I'm struggling to get scsh to compile on some random Linux
machine, and all kinds of things seem to be broken.  (e.g. sigset_t is a
struct, not an integer.)  The scsh FAQ tells me that if I am using Debian,
there is a package I can install, but this seems to be a Red Hat machine.
(The file /etc/redhat-release contains "Red Hat Linux release 5.2
(Apollo)".)  Any guidance?  The kernel seems to be version 2.0.35
(according to `uname -r').

===File ~/work/src/scsh-0.5.1-irix-5.3-signals-patch========
--- scsh-0.5.1/scsh/irix/signals.scm.orig       Fri Nov  8 15:42:27 1996
+++ scsh-0.5.1/scsh/irix/signals.scm    Sun Feb 14 19:11:35 1999
@@ -20,28 +20,28 @@
   (pipe        13)     ; write on a pipe with no one to read it 
   (alrm        14)     ; alarm clock 
   (term        15)     ; software termination signal from kill 
-  (stop        20)     ; sendable stop signal not from tty 
-  (tstp        21)     ; stop signal from tty 
-  (cont        28)     ; continue a stopped process 
+  (stop        23)     ; sendable stop signal not from tty 
+  (tstp        24)     ; stop signal from tty 
+  (cont        25)     ; continue a stopped process 
   (chld        18)     ; to parent on child stop or exit 
   (cld 18)     ; compat
-  (ttin        29)     ; to readers pgrp upon background tty read 
-  (ttou        30)     ; like TTIN for output if (tp->t_local&LTOSTOP) 
+  (ttin        26)     ; to readers pgrp upon background tty read 
+  (ttou        27)     ; like TTIN for output if (tp->t_local&LTOSTOP) 
   ;; User defined
   (usr1 16)    ; user defined signal 1 
   (usr2 17)    ; user defined signal 2 
 
   (pwr  19)    ; power-fail restart
   (poll 22)    ; pollable event occurred
-  (io  23)     ; input/output possible signal
-  (urg 24)     ; urgent condition on io channel
-  (winch 25)   ; window size changes
-  (vtalrm 26)  ; virtual time alarm
-  (prof        27)     ; profiling alarm
-  (xcpu        31)     ; Cpu time limit exceeded
-  (xfsz        32)     ; Filesize limit exceeded
+  (io  22)     ; input/output possible signal
+  (urg 21)     ; urgent condition on io channel
+  (winch 20)   ; window size changes
+  (vtalrm 28)  ; virtual time alarm
+  (prof        29)     ; profiling alarm
+  (xcpu        30)     ; Cpu time limit exceeded
+  (xfsz        31)     ; Filesize limit exceeded
   )
 
 (define signals-ignored-by-default
   (list signal/chld signal/cont                                 ; These are 
Posix.
-       signal/pwr signal/poll signal/urg signal/winch)) ; These are Irix.
+       signal/pwr signal/urg signal/winch))             ; These are Irix.
============================================================

<Prev in Thread] Current Thread [Next in Thread>