Just for the curious,
I'm trying to use the shared memory functionality of the boost interprocess library for implementing a client and a server like process, where the server calculates something for the client. I use condition variables for the process synchronization. The >implementation works initially, but I am getting deadlocks, now.
in the meanwhile i found a solution on my own. The lock on the mutex
must be made directly at the beginning of each process, so that the
mutex is only unlocked if wait() is called.
Regards
Kai
Something like this works:
class SharedData
{
// Excuted by the client process
void calc() {
scoped_lock