[Info-vax] DCL "READ/TIME_OUT=n" from terminal; timer resets if message written to screen

Arne Vajhøj arne at vajhoej.dk
Tue May 25 08:28:06 EDT 2021


On 5/25/2021 8:09 AM, Simon Clubley wrote:
> On 2021-05-24, Arne Vajhøj <arne at vajhoej.dk> wrote:
>> On 5/24/2021 7:53 PM, Dave Froble wrote:
>>> On 5/24/2021 2:12 PM, Simon Clubley wrote:
>>>> On 2021-05-24, David Jones <osuvman50 at gmail.com> wrote:
>>>>> I imagine read/time_out=... is using the timeout feature of the
>>>>> terminal driver
>>>>> and not timer ASTs. The timeout is a feature of the wait for
>>>>> interrupt function
>>>>> in the kernel, which is why it resets for every character entered (as
>>>>> well as
>>>>> breakthru writes).
>>>>
>>>> _If_ that is the case, then the read timeout functionality is broken
>>>> IMHO because that is _very_ unexpected behaviour.
>>>
>>> I don't agree with what you wrote.  Yes, I'd prefer a bit different
>>> operation, but, I can understand and accept what's there.  Maybe could
>>> be better, but, not broken.
> 
> It's unexpected because most people are not going to find the one
> paragraph deep in a low-level programmer's manual that documents this.
> 
> They are going to look at other documentation sources where this very
> unexpected behaviour is not documented.

VSI already stated that they will update the DCL documentation to also
reflect that.

>> I agree.
>>
>> Not only is it what's there.
>>
>> As it turned out then it is actually documented behavior.
>>
>> Actual behavior is expected to follow documented behavior.
>>
>> It is almost guaranteed that there will be some functionality
>> where ones expectation without reading the documentation is
>> different from actual behavior.
>>
> 
> This is the documented behaviour that most people are going to read:
> 
> ---------------------------------------------------------------------------
> READ
> 
>    /TIME_OUT
> 
>          /TIME_OUT=n
>          /NOTIME_OUT (default)
> 
>       Specifies the number of seconds after which the READ command is
>       terminated if no input is received. If you enter the /TIME_OUT
>       qualifier, you must specify a value from 0 to 255.
> 
>       If you enter both the /ERROR=label and /TIME_OUT qualifiers, and
>       the time limit expires, the error branch is taken.
> ---------------------------------------------------------------------------
> 
> That text is simple, clear to understand, and completely wrong.

It is not wrong. It is incomplete.

Arne




More information about the Info-vax mailing list