Cygwin 1.7 message queues - permission denied error still exists

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sun Sep 13 20:32:00 GMT 2009


On Sun, Sep 13, 2009 at 01:25:01PM -0400, Philip Semanchuk wrote:
>On Sep 13, 2009, at 1:15 PM, Andy Koppe wrote:
>>> FAQ:
>>> ====
>>>
>>> - Q: How do I know that I'm running Cygwin 1.7.0-61?
>>>
>>>  A: The `uname -v' command prints "2009-09-11 01:25"
>
>Thanks Andy. Mine is dated 2009-08-20 10:56; I'm sure that's well past  
>the 1.7.0-29 release which is the one I'm concerned with.

It is, but there is no reason to be running an earlier version.

I just modified the test case from the original report:

>>>cut here<<<
#include <stdio.h>
#include <mqueue.h>
#include <fcntl.h>
#include <string.h>

main()
{
 int flags = O_RDWR | O_NONBLOCK | O_CREAT | O_EXCL;
 struct mq_attr attr;
 char queue[80];
 char *e;
 mode_t mode = strtoul("644", &e, 8);
 mqd_t mqd;


 memset((void *) &attr, 0, sizeof(struct mq_attr));
 attr.mq_maxmsg = (long) 10;
 attr.mq_msgsize = (long) 24;
 strcpy(queue, "/queue0");
 mq_unlink(queue);
 mqd = mq_open(queue, flags, mode, &attr);
 if (mqd < 0)
   perror("mq_open 1");
 strcpy(queue, "/queue1");
 mq_unlink(queue);
 mqd = mq_open(queue, flags, mode, &attr); // ALWAYS FAIL HERE WITH "Permission denied"
 if (mqd < 0)
   perror("mq_open 2");
}
>>>cut here<<<

It behaves the same on both linux and cygwin.

Make sure that you've read:

http://cygwin.com/faq/faq-nochunks.html#faq.programming.ipc

And have cygserver running properly.

The cygcheck output mentioned on the problems page is not optional.  If
you had provided that in your first message we'd know what version of
cygwin you had installed and if you had cygserver running.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list