> If some process is writing to the mail box and other wants to read it, can I
> see it in reference count?.
Yes, you would see a reference count of 2.
But you could also have a single process generating a reference count of 2 if
it has 2 channels opened to that mailbox (for instance a lonely process
talking to itself with thr writes done on channel 1 and reads on channel 2.
Quote:> Most probably I will have to check if the block is written into the mailbox
> or not as pointed by Ron.
Another thing you can do, from a SPARE terminal:
$OPEN /READ/WRITE TEMP MBAnnn:
$WRITE TEMP "Deadly chocolate mousse"
See if this triggers the READ in your process.
Note: if the maibox is full because the reads do not work, the above may get
stuck in the WRITE statement and you might need to kill the process. (or wait
for the reading process to read from mailbox). But if that happens, it gives
you an idea.
Are you sure that the reading process has actually issued the QIOW ? Is it
possible it is getting stuck waiting for something else before getting to the
QIOW ? (and when it does get to it, it comletes immetiatly because there is
already data in the mailbox).
Another thing you can do:
$OPEN/READ/WRITE TEMP MBAnnn:
$READ TEMP test
$SHOW SYMBOL TEST
if the read completes right away, while your other main process is still
taking 10 minutes, it is an indication that the other process had not queued
the request to read before you queued yours, so you got the first packet in
If the read gets stuck, you can either kill the process or get another process
to write to the mailbox (see the example above) and that will free it.
This can help you *MAYBE* understand what is going on.
Another thing to look at is the transaction count in the SHOW DEV/FULL to see
if it moves.