Un processo esce dalla msgrcv quando riceve un segnale, guarda
> man msgrcv

Noi l'abbiamo risolto mettendo un flag, ma se trovi soluzioni un po' più eleganti dillo!!!