On Thu, 19 Nov 2009, Mario Schwalbe wrote:
dispatch_after: fail, spins forever dispatch_apply: pass dispatch_drift: fail, spins forever dispatch_group: pass dispatch_pingpong: pass dispatch_read: fail, spins forever dispatch_readsync: pass dispatch_sema: pass dispatch_timer_bit31: fail, spins forever dispatch_timer_bit63: fail, spins forever
dispatch_plusplus: pass
Hopefully, those tasks that don't terminate fail due to the same problem, so I'm going to investigate this issue further.
The fail, spin forever problems sounds a bit like you might be running into problems with either the timeout code or the posix semaphore-based wakeup mechanism. I had similar problems when initially working on the psem parts, and in particular ran into semantic issues with the interpretations of timeouts and relative vs. absolute time. There might be either underlying differences in how it works with libkqueue that need to be resolved, or there could be bugs in the psem code (I should out a few of them only a week or two ago once I made it through the last bits of the test suite). Robert N M Watson Computer Laboratory University of Cambridge