mq_open sets errno to 78 when queue does not exist

Erich Dollansky erichsfreebsdlist at alogt.com
Mon Sep 15 08:56:42 UTC 2014


Hi,

On Mon, 15 Sep 2014 10:26:35 +0200
Mateusz Guzik <mjguzik at gmail.com> wrote:

> On Mon, Sep 15, 2014 at 02:59:12PM +0800, Erich Dollansky wrote:
> > Hi,
> > 
> > I have a very simple program. It basically tries to open a message
> > queue which does not exists. mq_open returns then -1 but errno is
> > set to 78 which is defined as this: 
> > 
> > #define	ENOSYS 78 /* Function not implemented */
> > 
> > The line in question:
> > 
> > res = mq_open ("/doesnotexist", O_RDWR);
> > 
> > "/doesnotexists" is the non-existing message queue the program tests
> > for. res will be set correctly to -1 but errno is set then to 78.
> > 
> > If I want to create the message queue, I will get the same error.
> > 
> > uname -a says:
> > 
> > FreeBSD X220.alogt.com 10.1-PRERELEASE FreeBSD 10.1-PRERELEASE #45
> > r271420: Sat Sep 13 15:09:34 WITA 2014
> > erich at X220.alogt.com:/usr/obj/usr/src/sys/X220  amd64
> > 
> > Do I see or do something wrong or is this an error?
> > 
> 
> Do you have mqueuefs loaded?
> 
of course not. I was under the impression that 

options _KPOSIX_PRIORITY_SCHEDULING

in the kernel configuration will do.

Thanks for the hint.

Erich


More information about the freebsd-stable mailing list