[libdispatch-dev] State of the Linux port (with blocks support)
Robert Watson
robert at fledge.watson.org
Thu Nov 19 07:51:46 PST 2009
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
More information about the libdispatch-dev
mailing list