Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

7
  • You should report the name used in the mkfifo() call in the error message — so respfifo rather than RESP_FIFO_NAME. What FIFOs exist in the current directory (of the program when it is run)? Are you sure you want angle brackets included in the FIFO name (or is the error message from a different version of the code)? You could include errno and strerror(errno) in the output; this would help diagnose what the problem is (EEXIST vs EPERM vs ...). Commented May 6, 2013 at 5:24
  • Use perror or strerror to know what is the exact error. Commented May 6, 2013 at 5:27
  • RESP_FIFO_NAME is a preprocessor #define'd macro constant. I will add that now. I assumed it did not matter as it was simply a string literal with direct text replacement. Yeah, I'll use perror right now and see what the actual problem is. Commented May 6, 2013 at 5:27
  • perror(RESP_FIFO_NAME) outputs <RESP_FIFO_NAME>: No such device or address which is apparently ENXIO Commented May 6, 2013 at 5:30
  • Intriguing: ENODEV is not listed as a possible error from mkfifo(2) on Mac OS X. Have you done any chdir() operations? I see that dropping the angle brackets doesn't change the result. What is FIFO_MODE? Does the command FIFO already exist? Commented May 6, 2013 at 5:37