Boh, è assurdo... Perchè lì la wait non funziona e invece con l'event scritto alla stessa maniera (cambia sola la release) non funziona? Dipenderà dal compilatore (io uso mingw)?
event e mutex sono diversi.
Un mutex blocca tutte le wait successive alla prima, e una release sblocca una sola delle wait.
Un event blocca tutte le wait a prescindere, e una singola release sblocca TUTTE le wait.
Eurekaaaaa... Ci sono riuscito!!! Per questo tipo di problema serviva un event e comunque c'era un problema quando lanciavo la funzione di rilascio: praticamente anzichè deferenziare il puntatore gli passavo il puntatore stesso
Codice sorgente - presumibilmente C#
void sendAsynchronousMessage(TCHAR title[], TCHAR text[], int type){