ptem's limitations

Mike Eisler mre at pyrps5.pyramid.com
Thu May 23 13:45:36 AEST 1991


In article <7976 at auspex.auspex.com> guy at auspex.auspex.com (Guy Harris) writes:
>In article <1991May20.145454.682 at arizona.edu> cat at pluto.dss.com (Iain
>  Wacey) writes:
>>of some limitation of ptem. It does not handle flow control
>>leaving it to any lower module or driver to handle STOPI
>>messages from ldterm.
>
>It doesn't handle flow control coming into the pseudo-tty, no; it leaves
>that up to the streams mechanism to handle, just as other pseudo-tty
>mechanisms do.

Trouble is, ptem doesn't use streams flow control to handle ^S/^Q
correctly. When a STOP message comes down from ldterm (as a consequence
of ldterm getting ^S), ptem queues it rather than forwarding it to the
lower module. Unfortunately ptem has no service procedure. When a
module above ptem attempts a canput(), the canput() succeeds, because
canput() skips modules without service procedures.  So the application
can forever write data over a pseudo tty that is supposedly flow
stopped by ^S forever.

	-Mike Eisler
	mre at pyramid.com



More information about the Comp.unix.wizards mailing list