[comp.unix.questions] Rn Crashing ?

cf@kcl-cs.UUCP (Andy Whitcroft) (03/21/90)

We have a strange problem with 'rn', version 4.3.1.4 patchlevel 40,
compiled on a Sequent Symetry running under Dynix, BSD 4.2.

It will work fine in all normal usage, but if you suspend it with '^Z' from
csh, during reading an article mode only, it crashes when resumed with an
'illegal ioctl during read' message, this is rather annoying to me.

Has anyoe had this behaviou from their 'rn' ? Any fixes ? 

Thanks in advance ...

Andy as news admin.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Andy Whitcroft |  UUCP: ...!kcl-cs!cf            | Dept. of Computing,
        (C.f.) | JANET: cf%kcl-cs.UUCP@uk.ac.ukc |      Kings College London.

arnold@jarthur.Claremont.EDU (Arnold de Leon) (03/22/90)

In article <900@xenon.kcl-cs.UUCP> cf@kcl-cs.UUCP (Andy Whitcroft) writes:
>We have a strange problem with 'rn', version 4.3.1.4 patchlevel 40,
>compiled on a Sequent Symetry running under Dynix, BSD 4.2.
>
>It will work fine in all normal usage, but if you suspend it with '^Z' from
>csh, during reading an article mode only, it crashes when resumed with an
>'illegal ioctl during read' message, this is rather annoying to me.
>
>Has anyoe had this behaviou from their 'rn' ? Any fixes ? 
>

Yes here is a fix.  The diffs are relative to rn patch level
44 but they should work with patch level 40.

Apply the following patch to term.c

*** /tmp/,RCSt1008238	Wed Mar 21 21:20:00 1990
--- /tmp/,RCSt2008238	Wed Mar 21 21:20:01 1990
***************
*** 1,6 ****
! /* $Header: /src/local/bin/rn.44/RCS/term.c,v 1.1 89/12/23 15:19:47 arnold Exp $
   *
   * $Log:	term.c,v $
   * Revision 1.1  89/12/23  15:19:47  arnold
   * Initial revision
   * 
--- 1,12 ----
! /* $Header: /src/local/bin/rn.44/RCS/term.c,v 1.3 89/12/23 17:55:50 arnold Exp $
   *
   * $Log:	term.c,v $
+  * Revision 1.3  89/12/23  17:55:50  arnold
+  * replaced sequent fix with more generic fix 
+  * 
+  * Revision 1.2  89/12/23  16:03:00  arnold
+  * fixed to work with a Sequent Symmetry
+  * 
   * Revision 1.1  89/12/23  15:19:47  arnold
   * Initial revision
   * 
***************
*** 736,746 ****
      for (;;) {
  	int_count = 0;
  	errno = 0;
! 	if (read_tty(whatbuf,1) < 0 && !errno)
! 	    errno = EINTR;
! 	if (errno && errno != EINTR) {
! 	    perror(readerr);
! 	    sig_catcher(0);
  	}
  #ifdef PUSHBACK
  	if (*whatbuf & 0200 || no_macros) {
--- 742,753 ----
      for (;;) {
  	int_count = 0;
  	errno = 0;
! 	if (read_tty(whatbuf,1) < 0 )
! 	    if (!errno)
! 	        errno = EINTR;
! 	    else {
! 		perror(readerr);
! 		sig_catcher(0);
  	}
  #ifdef PUSHBACK
  	if (*whatbuf & 0200 || no_macros) {
-- 

Arnold de Leon                       arnold@jarthur.claremont.edu
Computer Science Dept., HMC          uunet!jarthur!arnold
Claremont, CA 91711                  arnold@hmcvax.bitnet