Alleine damit kann man sich sein System blockieren.
Und genau das war/ist sein Problem.
Lese ich da 'Sleep'? 'Wait'?... Au backe. Verwende Synchronisationsobjekte (Semaphoren, Mutexe und so'n Kram).
Wenn ich das richtig deute, werden die
waits mit "richtigen" Synchronizationsmitteln (Signal -> Semaphore?) realisiert. Das Warten dient nur dazu, die Message-Queue zu entlasten.