[comp.os.vms] Problems with VMS mailboxes

mb@tulane.tulane.edu (Mark Benard) (03/04/88)

I am having problems when I assign VMS mailboxes as the standard output
(SYS$OUTPUT) from subprocesses;  i.e., I want another process to handle
output from subprocesses which write using standard functions such a C's
printf or Pascal's write.  The problem is that VMS buffers the output and
does not actually put it into the mailbox until a line terminator is written.
Thus if a program prompts without a line terminator, the prompt will not be
available to the process reading the mailbox until after it is responded to!
So if the parent process is acting as a screen manager and has the
responsibility for printing the subprocess' output, the prompt does not get
printed until after an impatience user has responded to the expected prompt.
(I am especially interested in the case when the subprocess is VMS itself.)

This buffering is very similar to the way VMS buffers terminal input until a
line terminator is typed;  but that behavior can be changed by using single
character QIO's or changing the characters identified as line terminators.
No such buffering takes place when the mailbox is written to with a QIO, but
that does not help me.  I have been through the system manuals and the
VAX/VMS Internals and Data Structures book looking for ways to modify this
buffering for mailboxes - no luck.  Does anyone know a way to do this, or to
get around it?

------------
Mark Benard
Department of Computer Science     INTERNET:   mb@TULANE.EDU
Tulane University                  USENET:     pyramid!tulane!mb
New Orleans, LA 70118              BITNET:     mb%TULANE.EDU@RELAY.CS.NET
				    (or pyramid!tulane!mb at DECWRL.DEC.COM)