Uniplus Unix 3 and O_NDELAY IO

FISCHER at RUTGERS.ARPA FISCHER at RUTGERS.ARPA
Thu Feb 16 18:54:57 AEST 1984


From:  Ron <FISCHER at RUTGERS.ARPA>

We're beginning to develop neato user interfaces with windows and all
that.  These are to run on rather intelligent terminals and talk to
mainframes.  We have seen the BLT.  We're using an Apple Lisa (and a
Monroe 80186 device, but that's another story...)

I want to talk to both keyboard and serial port at the same time using
unix 3, which doesn't have Berkely's neat "interrupt on character
read" feature.

I have tried to do non-waiting IO using O_NDELAY the way that Gary
Moss described for version 5, but on two devices at once: /dev/tty,
and a serial line (with a terminal connected to it for testing).  I
want to poll both of 'em.

I have no luck.  The problem stems from setting O_NDELAY with fcntl;
when I comment out that line of code things work (but synchronously).
When that line of code is in I get no response whatever from either my
terminal or the test terminal connected to the serial line.  BTW, I
figured that perhaps the timeout and "characters in buffer" numbers
(of ICANON fame) might have affected this, but I set those to no
avail, you know: (~avail)(ttmode.c_cc[WAIT])).

1) But seriously, does anyone know why this might not work?

2) Is it true that FIONREAD only works if ICANON enables input
massaging!? (erase and kill processing)

Uniplus is UNISoft's unix 3.  I have the Apple Lisa version.

3) Does anyone have a feel for the quality of Unisoft's ports of Unix?

>From this and some of the behavior the machine has been giving I
suspect that the device drivers are not interrupt driven and can't do
O_NDELAY mode.  Some of what I have been hearing from UNISoft is:
"Version 5 is *almost* ready and much better, sit tight."  I cannot
wait and at this point even something like CPM 68k is starting to look
like a cleaner development environment... if only I could get it for
the Lisa...

Ultimately, out of exasperation, I may just run two processes that
both do waiting IO, one for the keyboard and mouse, one for the serial
port.

Help!

(ron)
-------



More information about the Comp.unix mailing list