[Info-vax] QIO Writes to a mailbox

Christoph Gartmann gartmann at nonsense.immunbio.mpg.de
Fri Nov 4 08:01:05 EDT 2011


In article <9d04fe57-942d-478b-83ac-403df39d8835 at t8g2000yql.googlegroups.com>, Steve Bainbridge <stephen_bainbridge at yahoo.co.uk> writes:

>This is on Alpha 4xCPU ES45 running OpenVMS 7.3-2 with the
>applications primarily written in C and Pascal. The fact that it seems
>to work 99.999% of the time suggest to me some sort of timing issue -

Or some memory issue or both.

>hence I'm keen to find out exactly when the supplied buffer is copied
>by the QIO.
>
>A chunk of code is below, first is the routine for
>f_osi_write_to_mailbox and below that is the actual call to
>f_osi_write_to_mailbox - this is the code in question. I'm not seeing
>the error message "<MBXFWDERR>" in the logs so I'm assuming the QIO
>was queued OK

Even if the QIO is queued all right, the relevant thing is the iosb status
block (vp_iosb in your code). The function is called with the parameter
C_OSI_NOWAIT and hence uses QIO instead of QIOW. So the status block must not
be used elsewhere until the QIO finished, although the program continues and
does not wait for the QIO to complete. Variables that are passed to QIO should
be defined as "static" to prevent the compiler to treat them dynamically.

Regards,
   Christoph Gartmann

-- 
 Max-Planck-Institut fuer      Phone   : +49-761-5108-464   Fax: -80464
 Immunbiologie und Epigenetik
 Postfach 1169                 Internet: gartmann at immunbio dot mpg dot de
 D-79011  Freiburg, Germany
               http://www.immunbio.mpg.de/home/menue.html



More information about the Info-vax mailing list