Operating System - Linux
1828217 Members
1863 Online
109975 Solutions
New Discussion

mkfifo System call is failing

 
Thomas Mereness
Occasional Contributor

mkfifo System call is failing

I'm porting our app to Itanium and the mkfifo call is failing even though the parms look OK and worked on our older HP-UX systems. We first call pipe(...), which succeeds, then later:
mkfifo(./work/pipe.a29154, _S_IFIFO | S_IRWXG | S_IRWXU)

which fails with errno 6

/usr/include/sys/errno.h
#define ENXIO 6
/* No such device or address */

As mentioned above, this code works on our older HP systems.

Any suggestions appreciated much!

Thanks in advance,

Tom
1 REPLY 1
Mike Stroyan
Honored Contributor

Re: mkfifo System call is failing

You shouldn't be passing in _S_IFIFO. That flag is used by by stat() and mknod(), but is not appropriate for mkfifo(). Perhaps the mkfifo function is actually checking for valid mode bits now.