This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF Mesh SDK Race Conditions

Hello,

During development with the Mesh SDK, we realized that it would not be possible to use a vast number of functions, even those relating to message publishing, without incurring in the potential for race conditions, unless synchronization with mesh processing is enforced. The problem also precludes heap usage without said considerations.

We have opted to perform such synchronization by fully disabling mesh processing before calling most mesh-related functions.

The SDK documentation discourages operation outside the priority used by mesh processing, however, we would like to know whether the above-mentioned approach presents any disadvantage.

I would also recommend further highlighting the issue within the documentation, as well as specifying it may also affect the standard library dynamic allocation functions.

Thanks in advance,
Alberto

Related