06-15-2011
I strongly advise you to check the return code by the system calls. That way, you'll catch early error like invalid mq descriptor caused by a failed mq_open.
HTH, Loïc
10 More Discussions You Might Find Interesting
1. 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
2. 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
3. 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
4. Linux
Hi all,
Please tell me how to change POSIX message queue maximum size? "ulimit" is not a solution because it controls shell resources. But i need to control queue size before login in and starting the shell. It is needed to limit queue size for applications started before login in.
Sorry for my... (7 Replies)
Discussion started by: Vourhey
7 Replies
5. 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
6. 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
7. Shell Programming and Scripting
Hi,
I need to move the XML files from the UNIX to the message queue. Please help me out to write the code..
Thanks,
Mohana Krishnan (0 Replies)
Discussion started by: krishnan_6015@y
0 Replies
8. 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
9. AIX
Hi, have an aix system with something I've never seen happening. All printers are not printing. I see jobs Queued and printer status as READY but jobs just keep getting queued and nothing's printing. Seems to be a system wide problem since it's affecting all printers. Help... (2 Replies)
Discussion started by: flash88
2 Replies
10. 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
LEARN ABOUT SUNOS
mq_close
mq_close(3RT) Realtime Library Functions mq_close(3RT)
NAME
mq_close - close a message queue
SYNOPSIS
cc [ flag... ] file... -lrt [ library... ]
#include <mqueue.h>
int mq_close(mqd_t mqdes);
DESCRIPTION
The mq_close() function removes the association between the message queue descriptor, mqdes, and its message queue. The results of using
this message queue descriptor after successful return from this mq_close(), and until the return of this message queue descriptor from a
subsequent mq_open(3RT), are undefined.
If the process (or thread) has successfully attached a notification request to the message queue via this mqdes, this attachment is removed
and the message queue is available for another process to attach for notification.
RETURN VALUES
Upon successful completion, mq_close() returns 0; otherwise, the function returns -1 and sets errno to indicate the error condition.
ERRORS
The mq_close() function will fail if:
EBADF The mqdes argument is an invalid message queue descriptor.
ENOSYS The mq_open() function is not supported by the system.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
mqueue.h(3HEAD), mq_notify(3RT), mq_open(3RT), mq_unlink(3RT), attributes(5), standards(5)
NOTES
Solaris 2.6 was the first release to support the Asynchronous Input and Output option. Prior to this release, this function always returned
-1 and set errno to ENOSYS.
SunOS 5.10 28 Jun 2002 mq_close(3RT)