Operating System - OpenVMS
1752806 Members
6028 Online
108789 Solutions
New Discussion юеВ

Re: Process mailbox usage simple question

 
SOLVED
Go to solution
Alex Chupahin
Super Advisor

Re: Process mailbox usage simple question

Good, I should read example6 for answer.
I started example6 together with example5 and it just worked.

Anybody wish to know mailboxes and reading this thread, do not make a mistake like me:
1. do not forget about differences between QIO and QIOW;
2. do not forget VMS mailboxes are not a real *mail boxes* and have no cache or buffer. To be able to put anything in immediate mode via QIOW to mailbox you should be sure there is a process that reading from mailbox.
Brian Reiter
Valued Contributor

Re: Process mailbox usage simple question

Or use the flags

IO$_WRITEVBLK
IO$M_NOW
IO$M_NORSWAIT

Which our systems have used since the early 90s (and still use).

cheers

Brian
Hoff
Honored Contributor

Re: Process mailbox usage simple question

>1. do not forget about differences between QIO and QIOW;

Asynchronous versus synchronous I/O is a significant difference, yes.

2. do not forget VMS mailboxes are not a real *mail boxes* and have no cache or buffer.

False. OpenVMS mailboxes DO have caching. That's what you set with the quotas.

>To be able to put anything in immediate mode via QIOW to mailbox you should be sure there is a process that reading from mailbox

Actually, you CAN use the synchronous form with an immediate completion flag on the sys$qiow.

OpenVMS is increasingly written in C, which isn't the newest language. Of the older code, that's roughly equally split between Bliss and Macro32.

Both Bliss and C are well-suited to low-level application and OS work, but not without the various and unique weirdness that will be found in each. Both are comparatively old languages.

Read the I/O user's manual, too, while you're reading the manuals. That manual describes how mailboxes work, and it is a good bet that most folks don't understand that.

There are features in mailboxes that I would never recommend using; there are features you think you want to use and that lead to pain and grief. Here are some tips I posted last year: http://64.223.189.234/node/250
Alex Chupahin
Super Advisor

Re: Process mailbox usage simple question

I find why example5 is freezing:
IO$M_NOW
should be added to SYS$QIOW() call
to get behavor identical there.
BTW it is mistake in manual ;)