07-05-2005
Reading a message from the message queue using msgrcv essentially removes the message from the queue.
To quote the msgrcv man page:
Quote:
The system call msgrcv reads a message from the message queue specified by msqid into the msgbuf pointed to by the msgp argument removing from the queue, on success, the read message.
Check
this link.
Last edited by blowtorch; 07-05-2005 at 03:24 AM..
Reason: To add a link to the man page
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
I am working closly with unix message queues i have encountered the following -
after creating the Q and start working with it (pushing & pulling) i receive the following stange parameters on the q's -
STIME=no_entry
Qnum=0
CBYTES=4140
when this happens, the Q is disabled (meaning i... (3 Replies)
Discussion started by: kel
3 Replies
2. UNIX for Dummies Questions & Answers
I have a problem with running jobs out of cron on Solaris 8.
Initially when one of the users on the box (other than root) attempted to save the crontab after modification by using "crontab -e", the message "Crontab: cannot open the crontab file in the crontab directory" was given.
I then... (7 Replies)
Discussion started by: mattd
7 Replies
3. Programming
Hi there:
Thanks first. When I use a message queue amony severl processes, will I have to synchronize the queue? I don't think I would have to because a message queue is implemented in a link listed. Correct me If I am wrong... (0 Replies)
Discussion started by: yanhu
0 Replies
4. IP Networking
I am sending and retriving the message to the queue
the problem is
after retrieving the message can i see what is there in my message queue.
(actually in my application i am encountring some garbage value)
so i want to retieve this garbage value and also want to know its size
how... (0 Replies)
Discussion started by: ramneek
0 Replies
5. Programming
hi all...
ive been trying this program where i spawn 4 threads... and i am trying to use message queue to send msgs from 3 of the threads to the parent thread... but it doent seem to be working... ive almost pulled out my hair tryin to fix the prob :confused:
another wierd thing... (1 Reply)
Discussion started by: strider
1 Replies
6. Programming
Hello,
i need to write a message queue "chat server", that should work only localy.
Can anyone please help me with some ideas and peshaps code. I'm studying the UNIX IPC mechanisms right now. So far, i understand how it works but i still cannot get an idea how to write a chat programm...
... (2 Replies)
Discussion started by: etenv
2 Replies
7. Programming
Hi!!
This code works if I don't remove the message queue.
In A.c I create 3 processes that send a message in a message queue.
in B.c other 3 processes receive 1 message for each (the messages sent from A), change the value of "dato" and put again the message in the queue.
The processes in A.c... (0 Replies)
Discussion started by: Sentinella
0 Replies
8. Programming
Hii can anyone pls tell how to limit the max no of message in a posix message queue. I have made changes in proc/sys/fs/mqueue/msg_max
But still whenever i try to read the value of max. message in the queue using attr.mq_curmsgs (where struct mq_attr attr) its giving the default value as 10.... (0 Replies)
Discussion started by: mohit3884
0 Replies
9. Programming
Hi all,
I need help about message queues, i have a server-client program that communicates each other via msg queue, firstly server opens its msg queue and waits for msg then client opens server msg queue and its own msg queue(for receiving msg from server,clients sends msg to server msg... (7 Replies)
Discussion started by: SaTYR
7 Replies
10. Programming
Hello !!!!! I have a simple question but i can't find the answer anywhere hope to meet it here.
Why it is a bad idea to pass pointers through message queues ?
Most structs i see all of their char types are arrays... Is it becase having pointers means we could possibily send wrong bytes ?
For... (2 Replies)
Discussion started by: qlyine
2 Replies
LEARN ABOUT OSF1
qmail-queue
qmail-queue(8) System Manager's Manual qmail-queue(8)
NAME
qmail-queue - queue a mail message for delivery
SYNOPSIS
qmail-queue
DESCRIPTION
qmail-queue reads a mail message from descriptor 0. It then reads envelope information from descriptor 1. It places the message into the
outgoing queue for future delivery by qmail-send.
The envelope information is an envelope sender address followed by a list of envelope recipient addresses. The sender address is preceded
by the letter F and terminated by a 0 byte. Each recipient address is preceded by the letter T and terminated by a 0 byte. The list of
recipient addresses is terminated by an extra 0 byte. If qmail-queue sees end-of-file before the extra 0 byte, it aborts without placing
the message into the queue.
Every envelope recipient address should contain a username, an @ sign, and a fully qualified domain name.
qmail-queue always adds a Received line to the top of the message. Other than this, qmail-queue does not inspect the message and does not
enforce any restrictions on its contents. However, the recipients probably expect to see a proper header, as described in qmail-header(5).
Programs included with qmail which invoke qmail-queue will invoke the contents of $QMAILQUEUE instead, if that environment variable is set.
FILESYSTEM RESTRICTIONS
qmail-queue imposes two constraints on the queue structure: each mess subdirectory must be in the same filesystem as the pid directory; and
each todo subdirectory must be in the same filesystem as the intd directory.
EXIT CODES
qmail-queue does not print diagnostics. It exits 0 if it has successfully queued the message. It exits between 1 and 99 if it has failed
to queue the message.
All qmail-queue error codes between 11 and 40 indicate permanent errors:
11 Address too long.
31 Mail server permanently refuses to send the message to any recipients. (Not used by qmail-queue, but can be used by programs offering
the same interface.)
All other qmail-queue error codes indicate temporary errors:
51 Out of memory.
52 Timeout.
53 Write error; e.g., disk full.
54 Unable to read the message or envelope.
55 Unable to read a configuration file. (Not used by qmail-queue.)
56 Problem making a network connection from this host. (Not used by qmail-queue.)
61 Problem with the qmail home directory.
62 Problem with the queue directory.
63 Problem with queue/pid.
64 Problem with queue/mess.
65 Problem with queue/intd.
66 Problem with queue/todo.
71 Mail server temporarily refuses to send the message to any recipients. (Not used by qmail-queue.)
72 Connection to mail server timed out. (Not used by qmail-queue.)
73 Connection to mail server rejected. (Not used by qmail-queue.)
74 Connection to mail server succeeded, but communication failed. (Not used by qmail-queue.)
81 Internal bug; e.g., segmentation fault.
91 Envelope format error.
SEE ALSO
addresses(5), envelopes(5), qmail-header(5), qmail-inject(8), qmail-qmqpc(8), qmail-send(8), qmail-smtpd(8)
qmail-queue(8)