POSIX message queue mq_open short form always EINVALs
Using the short form of mq_open(), (omitting the mode and mq attribute
structure) always returns EINVAL. The long form works fine.
DOESNT WORK ================
mq_open("nam", O_RDWR|O_CREAT|O_EXCL, 0777, NULL);
#1 Updated by Anonymous over 6 years ago
Quoting from the Austin Bible:
Create a message queue. It requires two additional arguments: mode, which
shall be of type mode_t, and attr, which shall be a pointer to an mq_attr structure.
So, if the user doesn't provide the *required* extra arguments, all bets are off.
I'll change the code to use the defaults, if none given. That would make
vsrinivas@ happy and allow me to check whether my commit access has expired due
to prolonged inactivity ;P
P.S. And now someone jumps in the discussion and says that current behavior is
better, because failure draws the user's attention and makes her fix the code.