I have a similar problem here too. The detail: The application is running in a perfectly good manner. I can receive the calls from the foreground task But if I send a message from the foreground task to the background task, send() fails with "Resource temporarily unavailable".
To demonstrate, start thread 1, it can send data to any other thread but keeps failing if it tries to communicate with thread 3. Traveling in the opposite direction, thread 1 can(and does) communicate via thread 3 but not with thread 2.
I saw this very same behaviour on FPDMX2. Sometimes I would be having problems connecting to the board but at other times I would be able to transmit/receive data via the MATRIX tool (it seems to have a daemon that's fully hidden in the background). What's the cause of this?
I'm trying to figure out how the CRIU patch for the ARM u-boot environment works. If the CRIU library is supposed to be used in such a way, the schedutils call could be executed in another thread, thus failing to lock /inc/iboot-link.c:896? Is that the reason why the schedutils call locks the first time, then again in others? d2c66b5586