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)