10 More Discussions You Might Find Interesting
1. Programming
hello, I try to test the POSIX mq_open function on book unp like below:
#include "unpipc.h"
# include <mqueue.h>
int main(int argc, char **argv)
{
int c, flags;
mqd_t mqd;
flags = O_RDWR | O_CREAT;
while ((c = getopt(argc, argv, "e")) != -1) {
... (3 Replies)
Discussion started by: anpufeng
3 Replies
2. Programming
Hi,
I wanted to know whether the POSIX message queues are statically allocated memory by the kernel based on the parameters specified in the open or as and when we send messages, memory are allocated?
Does the kernel reserve the specified memory for the message queue irrespective of whether... (1 Reply)
Discussion started by: sumtata
1 Replies
3. Programming
in a single main() function,so need signal handling. Use Posix Message Queue IPC mechanism , can ignore the priority and other linked list message,to implement the scenario:
client:Knock Knock
server:who's there
client: Eric
Server:Eric,Welcome.
client:exit
all process terminated
... (1 Reply)
Discussion started by: ouou
1 Replies
4. Programming
Hello,
I am trying to implement posix message queue application. I am faced with an error on the mq_receive section. It says "Message too long". I've tried couple of small tweeks, but to no result. Please do suggest any rectificaitons.
mq_send section-works successfully
#include... (2 Replies)
Discussion started by: katwalatapan
2 Replies
5. 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
6. 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
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. HP-UX
Hello,
My question is related to "pipcs -qa" command under HP-UX 11i PA-RISC 64 bits.
We have a little C program that creates posix ipc message queues using the mq_open() system function.
The program fail with 'No space left on device' error when we create big queues. What is the system... (6 Replies)
Discussion started by: cadanir
6 Replies
9. 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
10. Programming
How can I increase the POSIX Msg Q parameter SC_MQ_PRIO_MAX? The maximum is defined as 32. Can I increase the number? If so, how?
Deepa (0 Replies)
Discussion started by: Deepa
0 Replies
mq_receive(2) System Calls Manual mq_receive(2)
NAME
mq_receive - receive a message from a message queue
SYNOPSIS
DESCRIPTION
The system call receives the oldest of the highest priority message from the message queue specified by mqdes. The selected message is
removed from the queue and copied to the buffer pointed to by the msg_ptr argument. The argument, msg_len, specifies the size of the buffer
in bytes. The value of msg_len should be greater than or equal to the mq_msgsize attribute of the message queue, or will fail.
If the argument msg_prio is not NULL, the priority of the message removed from the queue is stored in the location pointed to by msg_prio.
If the specified message queue is empty and the flag is not set in the message queue blocking status associated with mqdes, will block in
priority order, until it can receive a message from the queue, or until is interrupted by a signal. If the specified message queue is empty
and the flag is set in the message queue blocking status associated with mqdes, will not wait for a message to arrive on the queue and
will return with an error.
To use this function, link in the realtime library by specifying on the compiler or linker command line.
RETURN VALUE
returns the following values:
n Successful completion. n is the size of the selected message in bytes and the message is removed from the queue.
Failure.
is set to indicate the error and no message is removed from the queue.
ERRORS
If fails, is set to one of the following values:
[EAGAIN] The flag is set in the message queue blocking status associated with mqdes, and the message queue is empty.
[EBADF] mqdes is not a valid message queue descriptor open for reading.
[EINTR] A signal interrupted the call to
[EINVAL] msg_ptr points to an invalid address.
[EMSGSIZE] The specified message buffer size, msg_len, is less than the message size attribute of the message queue.
[ENOSYS] is not supported by the implementation.
SEE ALSO
mq_send(2).
STANDARDS CONFORMANCE
mq_receive(2)