HP OpenVMS Systems

Ask the Wizard

HP OpenVMS Systems

OpenVMS information

» What's new on our site
» Upcoming events
» Configuration and buying assistance
» Send us your comments

HP OpenVMS systems

» OpenVMS software
» Supported Servers
» OpenVMS virtualization
» OpenVMS solutions and partners
» OpenVMS success stories
» OpenVMS service and support
» OpenVMS resources and information
» OpenVMS documentation
» Education and training

Quick Links

» Non-javascript page
» Ask the Wizard

Test Drive OpenVMS

» OpenVMS I64 test drive
» Java test drive

Other information resources available to you include:

» OpenVMS freeware
» ECO kits, software and hardware support, prior version support
» Alpha SRM, ARC, and AlphaBIOS firmware updates
» ENCOMPASS - HP user group
» OpenVMS software downloads, OpenVMS freeware CD-ROM
» OpenVMS firmware locations
» DECconnect passive adaptor charts
» Cables reference guide
» MicroVAX console commands
» OpenVMS student research

Select a topic below to see Questions Frequently Asked by partners

» Using the online documentation library(installing BNU from the asap SDK)
» Global sections(how to create and use.)
» xx$CREATE_BUFOBJ system service(usage)
» Ethernet address(methods of determination)
» Shareable images(cookbook approach to creating one)
» Sharing data/code at absolute addresses(a guide with examples)
» Determining the Alpha microprocessor
» Using GETSYI to get hardware status

Evolving business value

» Business Systems Evolution
» AlphaServer systems transition planning
» Alpha RetainTrust program

Related links

» HP Integrity servers
» HP Alpha systems
» HP storage
» HP software
» HP products and services
» HP solutions
» HP support
disaster proof
HP Integrity server animation
HP Integrity server animation
Content starts here

Ask the Wizard Questions

Mailbox read order

The Question is:


I have a server application that recieves requests
from client applications through a VMS mbx.  The server
application opens the MBX for read.  Each client application
opens the MBX for write.  I can easily have N client
applications writing to the 1 mailbox concurrently
(the requests queue up and the server takes them in order).

My question is :  If I run multiple (M) instances of the server
application all reading the same mailbox, will the N clients
requests get spread between the M servers or will a request
get read by all M servers simultaneously.

I do not have access to the source for the Server so
I cannot rewrite its front end.


The Answer is:

    The messages will spread between the servers.
    Reading from a mailbox is ultimatly done using a SYS$QIO(w) call,
    perhaps called directly, through RMS, and/or a language IO function.
    As its name implies, this system service performs QUEUED IOs.
    Assuming NO message in the mailbox, and not using the IO$M_NOW
    modifier, all the read QIOs from all the servers will be put in QUEUE.
    The first message to come in will satify the first QIO and only that
    first one. Next message goes to the next and so on... FIFO.

>I do not have access to the source for the Server so
>I cannot rewrite its front end.

    Notwithstanding the above, runnning multiple copies of the server
    _might_ still fail IFF that server happens to use the WRITE-ATTENTION-
    AST mechanism and happens not to be prepared for the case where no
    (more) message is found when the actual read QIO is performed.
    One could argue that an not ready for this is badly broken but hey...