IO Signal terminates Emacs 18.49 in A/UX

Ian Jones ian at bilpin.UUCP
Thu Feb 23 02:05:50 AEST 1989


I am having a strange problem with GNU Emacs 18.49 on a Macintosh II with
A/UX 1.0. The problem arises using Emacs with the 'term' multiple window
terminal emulator which is distributed as standard with A/UX. The problem
is that after a time, any keyboard input causes Emacs to print IO Signal and
expire forthwith. Furthermore, once this error has occurred in a particular 
window, it is impossible to use Emacs from within that window again without
closing the window and re-opening it. Emacs is not the only program which
is affected, indeed, any program which reads characters becomes diseased.
Common examples are 'vi', 'more' etc. etc.

My thoughts on the matter are that the program is receiving SIGIO, which is
sent when I/O is possible on a file descriptor in A/UX. Other programs behave
differently when receiving this signal (/bin/sh core dumps!) but this is to
be expected; if no code has been written to catch this signal, anything 
could happen!

Now the big question - WHY is this happening? Things work correctly until the
parent process starts catching SIGIO, and then everything fails from then on.
I tried using:

fcntl( fileno( stdin ), F_GETOWN, 0 );

which says that all members of the shell's process group will be sent SIGIO,
and I tried setting a different process id to receive SIGIO using:

fcntl( fileno( stdin ), F_SETOWN, 0 );

But was all to no avail.  How do you stop this behaviour? I have no knowledge 
of how to use this BSD signal, so can somebody please help? Does anybody know 
what is happening or what to try next? Is it some nasty race condition in 
Emacs when setting file descriptor parameters? Do any other programs have 
this behaviour? Am I (or is Emacs) driving the Berkeley signals stuff wrongly?

All comments extremely welcome!

-- 
_______________________________________________________________________________
Ian  Jones          SRL Data	    || Apple link : UK0001
1 Perren Street     London NW5 3ED  || UUCP	  : ian at bilpin.uucp
Phone:		    +44 1 485 6665  || Path	  : mcvax!ukc!icdoc!bilpin!ian



More information about the Comp.unix.aux mailing list