Sponsored Content
Full Discussion: mq_open error
Top Forums Programming mq_open error Post 302139637 by rvan on Monday 8th of October 2007 10:16:38 AM
Old 10-08-2007
mq_open error

Hi,

Am creating a msgqueue using mq_open
</code>
main()
{
struct mq_attr attr; /* message queue attributes structure */
memset(&_attr,0,sizeof(struct mq_attr));
attr.mq_maxmsg= 10;
attr.mq_msgsize= 20;

msg.flag = HS_FWK_MSGQ_FLAGS;
mq_open("/h_qname",O_CREAT|O_RDWR|O_EXCL|O_NONBLOCK, 00666,&attr);

then sending message using
mq_send(....)
}


Again opening the message queue using the name to receive the message...but mq_open fails here...
main()
{
struct mq_attr attr; /* message queue attributes structure */
memset(&_attr,0,sizeof(struct mq_attr));
attr.mq_maxmsg= 10;
attr.mq_msgsize= 20;

msg.flag = HS_FWK_MSGQ_FLAGS;
mq_open("h_qname",O_CREAT|O_RDONLY, 00666,&attr);

}
<code>


I tried with O_RDWR flag too... but thatz also failing... i couldn't find out where exactly am going wrong... could somebody help me on this.

Thanks.
 

10 More Discussions You Might Find Interesting

1. Programming

mq_open Hanging

One of my program which uses posix message queues was hanging in mq_open() system call, and after some time, it threw an error "Interrupted system call". I couldnt even unlink that message queue using mq_unlink(), as I have to use mq_open() prior to mq_unlink(). I use SunOS 5.7 Generic_106541-22... (0 Replies)
Discussion started by: Deepa
0 Replies

2. HP-UX

error mq_open message queue

Hello, J work on a HP. I want to create message queue by using mq_open with this parameters: mq_open(p,O_CREAT|O_WRONLY|O_EXCL|0_NONBLOCK,0600,&queue_attr) with p char and the function returns the value -1 and errno equal 2. can you help me ? Thank. (3 Replies)
Discussion started by: AUBERT
3 Replies

3. UNIX for Dummies Questions & Answers

Error: Internal system error: Unable to initialize standard output file

Hey guys, need some help. Running AIX Version 5.2 and one of our cron jobs is writing errors to a log file. Any ideas on the following error message. Error: Internal system error: Unable to initialize standard output file I'm guessing more info might be needed, so let me know. Thanks (2 Replies)
Discussion started by: firkus
2 Replies

4. UNIX for Advanced & Expert Users

mq_open too many files

On True64 UNIX, in a process, how many message queues can be open and how to increase it if the value has been out of the system limits. In our program, we want to create 1000 message queues,the mq_open returns the error message "too many open files".thanks (3 Replies)
Discussion started by: Frank2004
3 Replies

5. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies

6. AIX

nim mksysb error :/usr/bin/savevg[33]: 1016,07: syntax error

-------------------------------------------------------------------------------- Hello, help me please. I am trying to create a mksysb bakup using nim. I am geting this error, how to correct it ? : Command : failed stdout: yes stderr: no... (9 Replies)
Discussion started by: astjen
9 Replies

7. Programming

creating a message queue using mq_open

Hi all, First of all thanks in advance for reading my post and for your heart for helping me. I am trying to create a message queue using mq_open(name,oflags,mode_t,attr) method. But that function call is returning with an error code EFAULT. By googling it I found that it happens when there is... (10 Replies)
Discussion started by: parusasi
10 Replies

8. UNIX for Dummies Questions & Answers

> 5 ")syntax error: operand expected (error token is " error

im kinda new to shell scripting so i need some help i try to run this script and get the error code > 5 ")syntax error: operand expected (error token is " the code for the script is #!/bin/sh # # script to see if the given value is correct # # Define errors ER_AF=86 # Var is... (4 Replies)
Discussion started by: metal005
4 Replies

9. Programming

POSIX message queue mq_open directory

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

10. Solaris

Rpcinfo: can't contact portmapper: RPC: Authentication error; why = Failed (unspecified error)

I have two servers with a fresh install of Solaris 11, and having problems when doing rpcinfo between them. There is no firewall involved, so everything should theoretically be getting through. Does anyone have any ideas? I did a lot of Google searches, and haven't found a working solution yet. ... (2 Replies)
Discussion started by: christr
2 Replies
MQ_GETATTR(3)						     Linux Programmer's Manual						     MQ_GETATTR(3)

NAME
mq_getattr, mq_setattr - get/set message queue attributes SYNOPSIS
#include <mqueue.h> mqd_t mq_getattr(mqd_t mqdes, struct mq_attr *attr); mqd_t mq_setattr(mqd_t mqdes, struct mq_attr *newattr, struct mq_attr *oldattr); Link with -lrt. DESCRIPTION
mq_getattr() and mq_setattr() respectively retrieve and modify attributes of the message queue referred to by the descriptor mqdes. mq_getattr() returns an mq_attr structure in the buffer pointed by attr. This structure is defined as: struct mq_attr { long mq_flags; /* Flags: 0 or O_NONBLOCK */ long mq_maxmsg; /* Max. # of messages on queue */ long mq_msgsize; /* Max. message size (bytes) */ long mq_curmsgs; /* # of messages currently in queue */ }; The mq_flags field contains flags associated with the open message queue description. This field is initialized when the queue is created by mq_open(3). The only flag that can appear in this field is O_NONBLOCK. The mq_maxmsg and mq_msgsize fields are set when the message queue is created by mq_open(3). The mq_maxmsg field is an upper limit on the number of messages that may be placed on the queue using mq_send(3). The mq_msgsize field is an upper limit on the size of messages that may be placed on the queue. Both of these fields must have a value greater than zero. Two /proc files that place ceilings on the values for these fields are described in mq_open(3). The mq_curmsgs field returns the number of messages currently held in the queue. mq_setattr() sets message queue attributes using information supplied in the mq_attr structure pointed to by newattr. The only attribute that can be modified is the setting of the O_NONBLOCK flag in mq_flags. The other fields in newattr are ignored. If the oldattr field is not NULL, then the buffer that it points to is used to return an mq_attr structure that contains the same information that is returned by mq_getattr(). RETURN VALUE
On success mq_getattr() and mq_setattr() return 0; on error, -1 is returned, with errno set to indicate the error. ERRORS
EBADF The descriptor specified in mqdes is invalid. EINVAL newattr->mq_flags contained set bits other than O_NONBLOCK. CONFORMING TO
POSIX.1-2001. NOTES
On Linux, mq_getattr() and mq_setattr() are library functions layered on top of the mq_getsetattr(2) system call. SEE ALSO
mq_close(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3), mq_unlink(3), mq_overview(7) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-09-29 MQ_GETATTR(3)
All times are GMT -4. The time now is 05:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy