On Fri, 03 May 2013 18:09:16 GMT, Jack Applegame wrote:

Thank you very much.
yield() at the beginning of the task function solves this issue.

The cause was a __gshared field in Libevent2ManualEvent which caused the map of waiting threads to be reset. Works again now without the yield().

https://github.com/rejectedsoftware/vibe.d/commit/bf65a196055946184d165746ac29eee853a632ef