How to signal from one process to multiple other processes?
<p>I would like to send a "signal/notify" from one process to multiple other processes, however there doesn't seem to be a direct solution to what I would like do using Win API:</p>

<ul>
<li><p>A condition variable cannot be shared between processes.</p></li>
<li><p>An event object seems to either signal from one thread to another (using auto-reset event) or to multiple (Manual-reset event), but then I need to manually turn off the signal. It might then be difficult to know when all the "observers" have acknowledge the signal.</p></li>
</ul>

<p>I've also used Boost's IPC synchronization, but I don't really like the implementation since the mutexes doesn't have an "abandon"-state as the windows counter-part (if a software crash using the mutex it is difficult to recover from it).</p>

<p>Any suggestions? Basically I would like to use a condition variable, but it should work across multiple processes. Thank you!</p>

<hr>

<p><strong>Clarification:</strong></p>

<p>Basically this is what I'm doing: I'm updating a shared memory from one process (let's call it the controller) which need to notify multiple processes (the observers) that the shared memory has been updated. </p>

<p>What I did when I used boost was to use a shared (IPC) mutex and a conditional variable. The condition variable would wait in a separate thread for each observer until it has been notified by the controller to read from the shared memory. After an observer has read from the shared memory it would go back to wait for another notification from the controller. How can I do this using Win API?</p>