Stupid error (as always). Wrong file path provided
mMaster->launchSlaveProcess(appPath, "jojoUID");
Instead of
mMaster->launchSlaveProcess(appPath.getChildFile("Contents/MacOS/jojoSlave"), "jojoUID");
My thread was blocked as in juce_ConnectedChildProcess (line: 154) childProcess's start returns true whereas the slave executable is not properly launched...
if (childProcess.start (args))
{
connection = new Connection (*this, pipeName);
if (connection->isConnected())
{
sendMessageToSlave (MemoryBlock (startMessage, specialMessageSize));
return true;
}
connection = nullptr;
}
...and so the write in the pipe waits for the reader for ever.
That's pretty naughty that childProcess doesn't return false in that case (and TBH i didn't investigate further to know why).