01-14-2009
POSIX Message Queue
Quote:
Originally Posted by
Ikon
On my CentOS (Redhat) email queue is in:
/var/spool/mqueue
But emails do not stay in there very long if its working correctly.
Actually, I need the information of POSIX Message Queue, not the email queue.
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. 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
3. Programming
hi all,
I'm working on this problem for 2 days. Can somebody tell me that how to delete all message queues from the system ?
Since "ipcs -q" gives the list of all existing message queue, then there must be a system call and data stucture where from I can fetch the data about all existing... (2 Replies)
Discussion started by: v_rathor
2 Replies
4. Programming
Is there any way one can delete , say , a particular message from a message queue on system V? (2 Replies)
Discussion started by: satansfury
2 Replies
5. 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
6. 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
7. 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
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
rmvq(9F) Kernel Functions for Drivers rmvq(9F)
NAME
rmvq - remove a message from a queue
SYNOPSIS
#include <sys/stream.h>
void rmvq(queue_t *q, mblk_t *mp);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Queue containing the message to be removed.
mp Message to remove.
DESCRIPTION
rmvq() removes a message from a queue. A message can be removed from anywhere on a queue. To prevent modules and drivers from having to
deal with the internals of message linkage on a queue, either rmvq() or getq(9F) should be used to remove a message from a queue.
CONTEXT
rmvq() can be called from user or interrupt context.
EXAMPLES
This code fragment illustrates how one may flush one type of message from a queue. In this case, only M_PROTO T_DATA_IND messages are
flushed. For each message on the queue, if it is an M_PROTO message (line 8) of type T_DATA_IND (line 10), save a pointer to the next mes-
sage (line 11), remove the T_DATA_IND message (line 12) and free it (line 13). Continue with the next message in the list (line 19).
1 mblk_t *mp, *nmp;
2 queue_t *q;
3 union T_primitives *tp;
4
5 /* Insert code here to protect queue and message block */
6 mp = q->q_first;
7 while (mp) {
8 if (mp->b_datap->db_type == M_PROTO) {
9 tp = (union T_primitives *)mp->b_rptr;
10 if (tp->type == T_DATA_IND) {
11 nmp = mp->b_next;
12 rmvq(q, mp);
13 freemsg(mp);
14 mp = nmp;
15 } else {
16 mp = mp->b_next;
17 }
18 } else {
19 mp = mp->b_next;
20 }
21 }
22 /* End of region that must be protected */
When using rmvq(), you must ensure that the queue and the message block is not modified by another thread at the same time. You can achieve
this either by using STREAMS functions or by implementing your own locking.
SEE ALSO
freemsg(9F), getq(9F), insq(9F)
Writing Device Drivers
STREAMS Programming Guide
WARNINGS
Make sure that the message mp is linked onto q to avoid a possible system panic.
SunOS 5.10 9 Jul 2001 rmvq(9F)