[comp.sys.isis] Time warp messages "feature" in qa demo

ken@gvax.cs.cornell.edu (Ken Birman) (09/25/90)

In V2.1 you may see messages of the following sort when running the
qa part of the twenty questions demo, but only in BYPASS mode:
	ISIS client pid 2826: time warp (53.000 secs)!
The number of seconds will always be the amount of time that qa was
displaying its prompt before you entered the most recent command.

This message reveals a "bug" in qa, namely that it is calling getchar()
without checking that input is available.  A fix would be to call
isis_select(32, &imask, 0, 0, 0) with imask = (1<<fileno(stdin))
right before the call to getchar() in the main loop.

The reason ISIS cares is that in BYPASS mode applications may get asked
to send ack messages and terminate messages (a form of internal message
associated with the bypass cbcast implementation) after a timeout elapses.
QA is not giving ISIS a chance to do this, and ISIS complains next time
it gets control.  

Ken