Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!jarthur!arnold From: arnold@jarthur.Claremont.EDU (Arnold de Leon) Newsgroups: comp.unix.questions Subject: Re: Rn Crashing ? Summary: fix for rn on sequent symmetry Keywords: RN IOCTL Message-ID: <5298@jarthur.Claremont.EDU> Date: 22 Mar 90 05:40:27 GMT References: <900@xenon.kcl-cs.UUCP> Organization: Harvey Mudd College, Claremont, CA 91711 Lines: 70 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