Home
Support

Knowledge Base

BSPs and drivers
Community resources
Product documentation
Questions?
Contact us

mme_get_event() failed with EBUSY (Resource Busy)
 
________________________________________________________________________

Applicable Environment
________________________________________________________________________
  • Topic: mme_get_event() failed with EBUSY (Resource Busy)
  • SDP: 6.4.1
  • Target: Any supported target
________________________________________________________________________

Solution
________________________________________________________________________

An issue was seen with a MME user application where an error was returned (errno = 16 or EBUSY) on a call to mme_get_event(). Debugging seemed to indicate that the expected messages that should be delivered at that time in the code were being lost.

The issue eventually identified was that the mme_hdl_t returned from mme_connect() and used as one of the function arguments was being used in more than one thread without any locking, occasionally resulting in simultaneous access. This was the root problem as documented in the mme_connect() function description:
---
Connections are not thread safe, so the client application must ensure that a connection handle isn't used by more than one thread at a time.
---

The solution was to make sure that separate threads were using their own connection handles to the MME to prevent any conflicts.

________________________________________________________________________
NOTE: This entry has been validated against the SDP version listed above. Use caution when considering this advice for any other SDP version. For supported releases, please reach out to QNX Technical Support if you have any questions/concerns.
________________________________________________________________________


Related Attachments
 None Found





Please contact us with your questions or concerns.