[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

C $qio programming problem?

» close window

The Question is:

 
Hi,
 
IS their any change the way $QIOW system service handles data
i/o between OpenVMS Alpha V6.1-1H2 and V7.1 ?
 
We are running a data acquisition system on OpenVMS V6.1-1H2
The C compiler version is V5.0-003. The module that handles data
I/O from LAT port uses system service $QIOW. Now, this application
works fine on OpenVMS 6.1-1H2. When tested on OpenVMS Alpha V7.1,
the same application fails to read the data above 32767 bytes.
Most surprisingly ,$qiow call returns normal with no data in
the input data buffer.
 
This is very critical,and I highly appreciate any help to solve
this problem. I had compiled the code using C compiler V5.5
on OpenVMS Alpha V7.1, but still the problem exsists.
 
Thanks in advance
 
Vijay
 
 


The Answer is :

 
 
    	Something does not sound right here.  The VMS terminal driver has
    never supported read requests larger than 32K bytes.  There is lots of
    computations done in the terminal driver that perform singed word
    computations.  I know that we added some checks in TTDRIVER to catch
    palces where a computation resulted in a negative number and now return
    0.  This is not going to be removed because the changes were added to
    prevent system crashes.
 
    	You need to rework your application so that it does not attempt to
    perform reads that are larger than 32K bytes.  In fact as a general
    rule reads larger than 1K bytes have measurable impact on system
    performance.
 
 
    Forrest

answer written or last revised on ( 21-APR-1998 )

» close window