mq_open(): Function not implemented


I have an app just after kernal boot up. I use message queue in it. If I call mq_open() right away in my app, it shows " mq_open(): Function not implemented". If put sleep(1) before mq_open(), then it is fine.

As my understanding, mq_open(…,“my_mq_name”,…) will create a path /dev/mqueue/my_mq_name. Just like file open() and create a file descriptor.

Questions: Is there any procondition or dependence for using mq?


Obviously you must start mq before your app attempts to make the mq_open() call. Mqueue (and I believe mq) also require that gns is running.

But the error message you are getting isn’t one of the ones that are returned from mq_open. It looks more like something you’d see if you linked your process using a shared library that wasn’t yet available (or gns isn’t yet available).

So the question is how are you linking your app and what’s your boot up look like.