comp.lang.ada
 help / color / mirror / Atom feed
From: "Theodore E. Dennison" <dennison@escmail.mmc.orl.com>
Subject: Re: Unbuffered Keyboard I/O
Date: 8 Feb 1995 15:38:50 GMT
Date: 1995-02-08T15:38:50+00:00	[thread overview]
Message-ID: <3haoia$3aj@theopolis.orl.mmc.com> (raw)
In-Reply-To: 1995Feb3.071931.1@clstcs

amlombardi@vms4.sci.csupomona.edu wrote:
>
> I posted earlier about unbuffered keyboard io, well it works really well (i
> used the one at owens.ridgecrest.ca.us) but when the package initializes itself
> it must screw with the i/o channels some how because the PUT statement does not
> work but all the others like PUT_LINE and NE~W_LINE work... PUT actually will
> show up after a PUT_LINE or a NE~W_LINE or quitting the program... anyone have
> any ideas on how to fix this?  Thanx in advance

Actually, this is quite common behavior for PUT. On many systems, PUT
I/Os are buffered, and only PUT_LINEs and NEW_LINEs flush that buffer.

In many OS's (VMS for one) exitting a program automaticly flushes all
I/O buffers.

I know VAX Ada exihibts this behavior. There may be other Ada's that 
do it as well.

The solution to this in VMS is to either 
  - Use PUT_LINE or NEW_LINE when the text absolutely HAS to be
    displayed.
  - Use the SMG package instead of Text_IO
  - Use QIOs (YUUUUCK!)
  - Use the FORM parameter when you open the text file to get Text_IO
    to not buffer any writes (I hope you are an RMS expert!)

If you ARE using VAX Ada, I suggest SMG.

T.E.D.



      parent reply	other threads:[~1995-02-08 15:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1995Feb3.071931.1@clstcs>
1995-02-06 14:19 ` Unbuffered Keyboard I/O Do-While Jones
1995-02-08 15:38 ` Theodore E. Dennison [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox