This changes the winealsa dsound driver to stop using asynchronous callbacks and use snd_pcm_wait instead, I'm welcoming testing.
For me this fixes the mmap_crst deadlock. I don't know what caused the deadlock in the first place, but this seems to have fixed it somehow. My test was basically running max payne 2 on my old pc, for some reason it's prone to this bug. With this patch I didn't have this problem.
Detlef Riekenberg helped me testing first (buggy version) and now I hopefully fixed all issues that were found in it. It's not entirely ready yet I think, I'm not satisfied with latency for non-direct hw access. Basically it is the same loop as for direct hardware access at the moment. That means increased latency, which I think is noticable.
Welcoming all comments on it and experiences with it.
Maarten